Widzę wyjątek wyjątku wskaźnika pustego w menedżerze połączeń. Z usługi intent sprawdzam stan sieci przez isOnWIFI (this). Wyjątek występuje w linii cm.getActiveNetworkInfo(). To dziwne, ponieważ sprawdzam wartość zerową, zanim to zadzwonię. Uwaga: uprawnienia zostały ustawione.ConnectivityManager getActiveNetworkInfo wyjątek wskaźnika null
public static boolean isOnWIFI(Context context) {
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
return cm != null
//here occurs NullPointerException
&& cm.getActiveNetworkInfo() != null
&& ((cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI) != null && cm.getNetworkInfo(
ConnectivityManager.TYPE_WIFI).isConnected()));
}
Wszelkie przemyślenia, dlaczego tak się dzieje? Nie mogę tego debugować, ponieważ jest to tylko sporadyczne z raportów o błędach. Jedynym rozwiązaniem, które widzę, jest umieszczenie go w try catch block. Dzięki.
jakie uprawnienia są ustawione? –
Nie jestem pewien, ale możesz sprawdzić, dodając jeszcze jedno zezwolenie android.permission.ACCESS_WIFI_STATE –