2017-12-05 131 views
13

czasami na różnych telefonów komórkowych (Android 7) nie jest to katastrofa:Android: NullPointerException na NetworkInfo.isConnected() z Firebase

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) 

Widziałeś ten błąd przed? Nie wiem, jak poprawić ten błąd ...

Dziękuję bardzo, chłopaki!

+0

Możliwa duplikat [Co to NullPointerException, i jak to naprawić?] (Https://stackoverflow.com/questions/218384/what-is-a-nullpointerexception-and-how-do- i-fix-it) –

+4

Co? Czy poprawnie przeczytałeś mój post? – anthony

+1

proszę udostępnij swój kod –

Odpowiedz

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

To jest kod dla zzchr. Do getActiveNetworkInfo dodano już zerową kontrolę, ale wciąż otrzymujesz NPE.

Można sprawdzić inne możliwości NPE here. Mam nadzieję, że to pomoże.