androidsavesd-card

How to write files on SD Card from Android API 24+


I have a big problem. I want to save some files that I download from internet with my application, into my SD card fallowing this path:

/storage/9016-4EF8/Android/data/com.my.application/files

But I don't want to hardcode this string inside my code. So how can I do it programmatically? I have already ask permission to write on external storage.

Currently inside my code there is this piece of code below:

File sdcard = new File(context.getExternalFilesDir(null).getAbsolutePath() + "/Video scaricati/");

But with it, my application saves the files inside:

/storage/emulated/0/Android/data/com.my.application/files/Video scaricati

that it isn't in my SD card.

How can I do it?


Solution

  • Take the second item returned by

    File dirs[] =getExternalFilesDirs();
    

    Check if the array contains more then one element before use. Not everybody puts a micro SD card in.