Simple Android Directory picker - How?

Android_Noob picture Android_Noob · Jan 12, 2015 · Viewed 21.4k times · Source

I have just started coding in Android Studio and feeling Awesome..!!

How can I write a code for a 'Directory Picker'. i.e., When a button is clicked, a simple Dialog/Activity screen which can show list of directories.

Also, want to store all the files in that directory in to an Array variable. (Once OK button is clicked).

PS: I have searched here and found some cool 'File choose' but m looking for Directory Chooser..!

Thanks in advance.

Answer

Milton picture Milton · Jul 28, 2017

Try to use Intent.ACTION_OPEN_DOCUMENT_TREE

if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP){ 
    Intent i = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE); 
    i.addCategory(Intent.CATEGORY_DEFAULT);
    startActivityForResult(Intent.createChooser(i, "Choose directory"), 9999);
}

And get the result Uri from onActivityResult data.getData()

@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    switch(requestCode) {
        case 9999:
            Log.i("Test", "Result URI " + data.getData());
            break;
    }
}