Android mkdir not making folder
Asked Answered
R

3

24

Tonight I am currently having issues doing something that I thought would be simple... making a folder in /mnt/sdcard.

I have set the follow permission:

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

My Main.java has the following to make the folder:

public class Main extends TabActivity {
    static int index = 1;
    private static final String TAG = "Main";       

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        File folder = new File(Environment.getExternalStorageDirectory () + "/tallgrass/images");
        boolean success = false;
        if(!folder.exists()){
            success = folder.mkdir();
        }
        if (!success){ 
            Log.d(TAG,"Folder not created.");
        }
        else{
            Log.d(TAG,"Folder created!");
        }
    }

I get the "Folder created!" message in my log but when I check both /mnt/sdcard and /sdcard neither one has the folder. I have tried calling:

Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())

and it returns true. I just can't figure this one out because all signs are pointing that it should work. I have also tried it with the phone disconnected from the PC in case the SD card was mounting or something as I am currently using my phone instead of the emulator for developing. Speaking of which, does debuggable to true maybe prevent it from making the folder?

Thanks!

Region answered 11/5, 2011 at 2:33 Comment(0)
U
42

Does the /mnt/sdcard/tallgrass/ directory exist? (I'm guessing not, but you never know.)

The File.mkdirs() method will create all needed directories; mkdir() will only create the last directory in the pathname.

Unconnected answered 11/5, 2011 at 2:38 Comment(2)
That's it! I was trying to post an answer as i figured that out moments after I posted but being a new user it wouldn't let me answer my own post. I will check this as soon as it lets me. Thanks!Region
D'oh! Mostly the automated enforcements here are reasonable enough (and very effective at knocking down spam), but new users sometimes bear the brunt of those restrictions. Anyway, welcome to SO! :)Unconnected
S
0

Check where you are putting the permissions they must go in this way:

 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
 package="edu.una.info.app">
   <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
   <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
   <uses-permission android:name="android.permission.CALL_PHONE" />

<application android:allowBackup="true"
    android:label="@string/app_name"
    android:icon="@drawable/ic_launcher"
    android:theme="@style/AppTheme">

    <activity
        android:name="edu.una.info.SplashScreenActivity"
Stegman answered 13/5, 2014 at 1:57 Comment(0)
W
0

Try Using Different Device. The problem exists with my Emulator Device, but when I connected my Oneplus 5T, it created a Folder (My Oneplus Does not have a External MicroSD).

But at the same time, my emulator (Pixel 3) does not create a Folder at all.

At least the Permissions are all good.

Whitebait answered 16/5, 2020 at 4:40 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.