anthony
anthony

Reputation: 7733

Android: NullPointerException on NetworkInfo.isConnected() with Firebase

Sometimes, on different mobiles (Android 7) there is this crash:

Fatal Exception: java.lang.RuntimeException: Error receiving broadcast Intent { act=android.net.conn.CONNECTIVITY_CHANGE flg=0x4000010 (has extras) } in com.google.firebase.iid.zzae@3c68978
       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)

Have you seen this error before? I don't know how to correct this bug...

Thank you very much guys!

Upvotes: 14

Views: 1494

Answers (2)

Harshit Jain
Harshit Jain

Reputation: 107

The issue has been fixed in 11.8.0 . Please update your Firebase SDK version. Refer https://firebase.google.com/support/release-notes/android#20171218

Upvotes: 1

Puneet Kala
Puneet Kala

Reputation: 150

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

This is the code for zzchr. There is already a null check added for getActiveNetworkInfo but you are still getting NPE.

You can check on other possibilities of NPE here. Hope it helps.

Upvotes: 0

Related Questions