ConnectivityManager connMgr = (ConnectivityManager) getContext(). GetSystemService возвращает ноль при загрузке
Я получаю ошибку в ConnectivityManager
при загрузке приложения. Я использовал это много, но я впервые сталкиваюсь с этим.
это говорит о нуле, но я понятия не имею, что вызывает эта ошибка.
это мой код:
final ConnectivityManager connMgr = (ConnectivityManager) getContext().getSystemService(Context.CONNECTIVITY_SERVICE);
final android.net.NetworkInfo wifi = connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
final android.net.NetworkInfo mobile = connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if (wifi.isConnected()) {
baseUrl = URL1;
} else if (mobile.isConnected()) {
baseUrl = URL2;
}
и это ошибка на Logcat
2 ответа
getContext()
может стать нулевым, когда ваша активность прекращается или приложение переходит в фоновый режим. Так как это может произойти во время выполнения, используйте try-catch
,
try {
final ConnectivityManager connMgr = (ConnectivityManager) getContext().getSystemService(Context.CONNECTIVITY_SERVICE);
...
} catch (Exception e) {
...
}
Please Use this code--
and make sure that you context should not be null.
enter code here
public static boolean checkConnectivity(Context context){
boolean isConnected = false;
try{
ConnectivityManager connService = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo network = connService.getActiveNetworkInfo();
if(network != null) {
State state = network.getState();
if(network.isConnected()){
isConnected = true;
}
}else{
isConnected = false;
}
}catch (Exception e) {
e.printStackTrace();
}
return isConnected;
}