Подтвердить что ты не робот

Android: NullPointerException в NetworkInfo.isConnected() с Firebase

Иногда, на разных мобильных телефонах (Android 7), появляется такая авария:

Fatal Exception: java.lang.RuntimeException: Error receiving broadcast Intent { act=android.net.conn.CONNECTIVITY_CHANGE flg=0x4000010 (has extras) } in [email protected]
       at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:1178)
       at android.os.Handler.handleCallback(Handler.java:751)
       at android.os.Handler.dispatchMessage(Handler.java:95)
       at android.os.Looper.loop(Looper.java:154)
       at android.app.ActivityThread.main(ActivityThread.java:6321)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Caused by java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.net.NetworkInfo.isConnected()' on a null object reference
       at com.google.firebase.iid.zzad.zzchr(Unknown Source)
       at com.google.firebase.iid.zzae.onReceive(Unknown Source)
       at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:1163)
       at android.os.Handler.handleCallback(Handler.java:751)
       at android.os.Handler.dispatchMessage(Handler.java:95)
       at android.os.Looper.loop(Looper.java:154)
       at android.app.ActivityThread.main(ActivityThread.java:6321)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)

Вы видели эту ошибку раньше? Я не знаю, как исправить эту ошибку...

Большое спасибо, ребята!

4b9b3361

Ответ 2

final boolean zzchr() {
    ConnectivityManager var1;
    return (var1 = (ConnectivityManager)this.getContext().getSystemService("connectivity")) != null && var1.getActiveNetworkInfo() != null && var1.getActiveNetworkInfo().isConnected();
}

Это код для zzchr. Для getActiveNetworkInfo уже добавлена нулевая проверка, но вы все еще получаете NPE.

Вы можете проверить на других возможностей NPE здесь. Надеюсь, поможет.