Android mkdir not making folder

25,891

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.

Share:
25,891
Taylor Kems
Author by

Taylor Kems

Updated on July 23, 2022

Comments

  • Taylor Kems
    Taylor Kems almost 2 years

    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!