Невозможно сделать статическую ссылку на нестатический метод getSystemService(String) из типа
У меня есть эта функция, какое сетевое подключение
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;
}
}
Но когда я пытаюсь сделать его статичным, чтобы я мог использовать его в каждом действии, которое он выбрасывает:
Невозможно сделать статическую ссылку на нестатический метод getSystemService(String) из типа
Я не хочу каждый раз создавать объект класса.
3 ответа
Добавьте нестатические зависимости в качестве параметров:
public static boolean isNetworkConnected(Context c) {
ConnectivityManager conManager = (ConnectivityManager) c.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = conManager.getActiveNetworkInfo();
return ( netInfo != null && netInfo.isConnected() );
}
getSystemService
это нестатический метод Context
класс, так что для доступа к нему вам нужен объект из класса Context. Обычно вы вызываете его из Activty где this
также является объектом Context
, Чтобы исправить это, вы можете передать свой метод Context. isNetworkConnected
Теперь мы можем использовать статическую функцию getContext()
чтобы получить контекст, который наследуется от Cocos2dxActivity.java