I have this function which network connection
public boolean isNetworkConnected() {
ConnectivityManager conManager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = conManager.getActiveNetworkInfo();
if (netInfo == null) {
// There are no active networks.
return false;
} else {
return true;
}
}
But when i a trying to make it static so that i can use it in every activity it is throwing:
Cannot make a static reference to the non-static method
getSystemService(String) from the type
I don't want to create the object of the class every time .
Add the non-static dependencies as parameters:
public static boolean isNetworkConnected(Context c) {
ConnectivityManager conManager = (ConnectivityManager) c.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = conManager.getActiveNetworkInfo();
return ( netInfo != null && netInfo.isConnected() );
}
getSystemService
is a non static method of the Context
class, so in order to access it you need an object from the class Context.Typically you call it from inside an Activty where this
is also an object of Context
. In order to fix you could pass a Context to your method isNetworkConnected
now we can use static function getContext()
to get the context which inherit from Cocos2dxActivity.java