Ver código fonte

sometimes getExternalFilesDir returns null, and the app crashes in this case

Nicolas Van Eenaeme 6 anos atrás
pai
commit
4c4c5eab7d

+ 5
- 1
android/src/main/java/com/RNFetchBlob/RNFetchBlobFS.java Ver arquivo

213
         state = Environment.getExternalStorageState();
213
         state = Environment.getExternalStorageState();
214
         if (state.equals(Environment.MEDIA_MOUNTED)) {
214
         if (state.equals(Environment.MEDIA_MOUNTED)) {
215
             res.put("SDCardDir", Environment.getExternalStorageDirectory().getAbsolutePath());
215
             res.put("SDCardDir", Environment.getExternalStorageDirectory().getAbsolutePath());
216
-            res.put("SDCardApplicationDir", ctx.getExternalFilesDir(null).getParentFile().getAbsolutePath());
216
+
217
+            File externalDirectory = ctx.getExternalFilesDir(null);
218
+            if (externalDirectory != null) {
219
+                res.put("SDCardApplicationDir", externalDirectory.getParentFile().getAbsolutePath());
220
+            }
217
         }
221
         }
218
         res.put("MainBundleDir", ctx.getApplicationInfo().dataDir);
222
         res.put("MainBundleDir", ctx.getApplicationInfo().dataDir);
219
         return res;
223
         return res;