user3625069 user3625069 - 1 month ago 26
Android Question

Unable to create a folder programatically

Below is the code that I'm using

String root = Environment.getExternalStorageDirectory().getAbsolutePath().toString();
File filepathname = new File(root+"/newfolder");
if(filepathname.mkdir())
Toast.makeText(this,"directory created", Toast.LENGTH_SHORT).show();
else
Toast.makeText(this,"directory not created", Toast.LENGTH_SHORT).show();


I tried this code in Moto E (running Lollipop) and Nexus 5 (running marshmallow). Folder gets created in Moto but not in Nexus 5.

I have been able to create folder in Nexus 5 before upgrading to Marshmallow.

Is this a known problem in android M? Is there a work around? Or can anyone spot any problem in the code.

Notes:


  1. The above mentioned code is in the
    onCreate()
    of my launcher activity,

  2. The below permission is also there in the manifest file:

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

  3. "newfolder" does not exist already.


Answer

In my opinion you dont have rights to create folder. If your application target is 23 or above you have to read about new runtime permissions.

Here you can find official documentation about it.

Comments