Uploaded image for project: 'Apache Cordova'
  1. Apache Cordova
  2. CB-6907

Application crashes immediately on startup if no network is available

    XMLWordPrintableJSON

Details

    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
      

      Attachments

        Activity

          People

            iclelland Ian Clelland
            iclelland Ian Clelland
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: