1

I'm having trouble creating a directory with the following code. I have this in my Manifest:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

And this is the code for creating the directory:

        File mediaStorageDir = new File(Environment.getExternalStorageDirectory() + "/app");
    if (! mediaStorageDir.exists()){
        if (! mediaStorageDir.mkdirs()){
            Log.d("MyCameraApp", "failed to create directory");
            return null;
        }
    }

This is the full error when I try and run the app:

06-06 00:48:25.054 19696-19696/com.cameraApp.cameratest D/MyCameraApp: failed to create directory 06-06 00:48:25.054 19696-19696/com.cameraApp.cameratest D/AndroidRuntime: Shutting down VM 06-06 00:48:25.054 19696-19696/com.cameraApp.cameratest E/AndroidRuntime: FATAL EXCEPTION: main Process: com.cameraApp.cameratest, PID: 19696 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.cameraApp.cameratest/com.cameraApp.cameratest.MainActivity}: java.lang.NullPointerException: file at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) at android.app.ActivityThread.-wrap11(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) Caused by: java.lang.NullPointerException: file at android.net.Uri.fromFile(Uri.java:452) at com.cameraApp.cameratest.MainActivity.getOutputMediaFileUri(MainActivity.java:101) at com.cameraApp.cameratest.MainActivity.onCreate(MainActivity.java:45) at android.app.Activity.performCreate(Activity.java:6237) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)  at android.app.ActivityThread.-wrap11(ActivityThread.java)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)  at android.os.Handler.dispatchMessage(Handler.java:102)  at android.os.Looper.loop(Looper.java:148)  at android.app.ActivityThread.main(ActivityThread.java:5417)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 

Help. :(

Daniel
  • 53
  • 2
  • 8

0 Answers0