Did created CB-7106:
-----------------------
Summary: NullPointerException at App startup if SD-Card is absent
Key: CB-7106
URL: https://issues.apache.org/jira/browse/CB-7106
Project: Apache Cordova
Issue Type: Bug
Components: Android, Plugin File
Affects Versions: 3.5.0
Environment: Android 4.0.3, Industrial Handheld, using
cordova-plugin-file
Reporter: Did
in the Android implementation of cordova-plugin-file an exception is thrown
when the device has no sd-card:
07-09 06:56:32.400: E/PluginManager(2877): Uncaught exception from plugin
07-09 06:56:32.400: E/PluginManager(2877): java.lang.NullPointerException
07-09 06:56:32.400: E/PluginManager(2877): at
org.apache.cordova.file.FileUtils.requestAllPaths(FileUtils.java:866)
07-09 06:56:32.400: E/PluginManager(2877): at
org.apache.cordova.file.FileUtils.execute(FileUtils.java:348)
07-09 06:56:32.400: E/PluginManager(2877): at
org.apache.cordova.CordovaPlugin.execute(CordovaPlugin.java:65)
07-09 06:56:32.400: E/PluginManager(2877): at
org.apache.cordova.PluginManager.execHelper(PluginManager.java:242)
07-09 06:56:32.400: E/PluginManager(2877): at
org.apache.cordova.PluginManager.exec(PluginManager.java:227)
07-09 06:56:32.400: E/PluginManager(2877): at
org.apache.cordova.ExposedJsApi.exec(ExposedJsApi.java:53)
07-09 06:56:32.400: E/PluginManager(2877): at
org.apache.cordova.CordovaChromeClient.onJsPrompt(CordovaChromeClient.java:227)
07-09 06:56:32.400: E/PluginManager(2877): at
android.webkit.CallbackProxy.handleMessage(CallbackProxy.java:600)
07-09 06:56:32.400: E/PluginManager(2877): at
android.os.Handler.dispatchMessage(Handler.java:99)
07-09 06:56:32.400: E/PluginManager(2877): at
android.os.Looper.loop(Looper.java:137)
07-09 06:56:32.400: E/PluginManager(2877): at
android.app.ActivityThread.main(ActivityThread.java:4424)
07-09 06:56:32.400: E/PluginManager(2877): at
java.lang.reflect.Method.invokeNative(Native Method)
07-09 06:56:32.400: E/PluginManager(2877): at
java.lang.reflect.Method.invoke(Method.java:511)
07-09 06:56:32.400: E/PluginManager(2877): at
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
07-09 06:56:32.400: E/PluginManager(2877): at
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
07-09 06:56:32.400: E/PluginManager(2877): at
dalvik.system.NativeStart.main(Native Method)
the documentation for context.getExternal... (i.e.:
context.getExternalFilesDir, context.getExternalCacheDir())
tells there is NULL returned if no external storage is available
this leads to a problem for calls like this:
context.getExternalFilesDir(null).getParentFile();
context.getExternalFilesDir(null) returns null and there is a call to
null.getParentFile(); which throws NullPointerException
--
This message was sent by Atlassian JIRA
(v6.2#6252)