Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
None
-
None
-
None
Description
Working on the App harness, I've found that the application will crash immediately if there is no network available (No 3G, no Wi-Fi) at startup time.
From the Android docs, NetworkManager.getActiveNetworkInfo "Returns
a NetworkInfo object for the current default network or null if no network default network is currently active"
http://developer.android.com/reference/android/net/ConnectivityManager.html#getActiveNetworkInfo()
This results in an NPE at NetworkManager.java:201.
Stack trace
E/AndroidRuntime(31166): java.lang.RuntimeException: Error receiving broadcast Intent { act=android.net.conn.CONNECTIVITY_CHANGE flg=0x4000010 (has extras) } in org.apache.cordova.networkinformation.NetworkManager$1@41ea6600 E/AndroidRuntime(31166): at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:769) E/AndroidRuntime(31166): at android.os.Handler.handleCallback(Handler.java:733) E/AndroidRuntime(31166): at android.os.Handler.dispatchMessage(Handler.java:95) E/AndroidRuntime(31166): at android.os.Looper.loop(Looper.java:136) E/AndroidRuntime(31166): at android.app.ActivityThread.main(ActivityThread.java:5001) E/AndroidRuntime(31166): at java.lang.reflect.Method.invokeNative(Native Method) E/AndroidRuntime(31166): at java.lang.reflect.Method.invoke(Method.java:515) E/AndroidRuntime(31166): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) E/AndroidRuntime(31166): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) E/AndroidRuntime(31166): at dalvik.system.NativeStart.main(Native Method) E/AndroidRuntime(31166): Caused by: java.lang.NullPointerException E/AndroidRuntime(31166): at org.apache.cordova.networkinformation.NetworkManager.getConnectionInfo(NetworkManager.java:201) E/AndroidRuntime(31166): at org.apache.cordova.networkinformation.NetworkManager.updateConnectionInfo(NetworkManager.java:171) E/AndroidRuntime(31166): at org.apache.cordova.networkinformation.NetworkManager.access$000(NetworkManager.java:38) E/AndroidRuntime(31166): at org.apache.cordova.networkinformation.NetworkManager$1.onReceive(NetworkManager.java:110) E/AndroidRuntime(31166): at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:759) E/AndroidRuntime(31166): ... 9 more