I would like to know how to use "Storage Access Framework" to create new folder on SD card. If you give me the code it would be very good. I have already searched other questions and answers but not found how to.
Add some codes that already work per "CommonsWare" answer. Note that is the only way I found that it can make new folder in sd card on my phone SS A5 with Android OS 5.1.1
public void newFolder(View view)
{
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);
startActivityForResult(intent, NEW_FOLDER_REQUEST_CODE);
}
private static final int NEW_FOLDER_REQUEST_CODE = 43;
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent resultData) {
super.onActivityResult(requestCode, resultCode, resultData);
Uri currentUri = null;
if (resultCode == Activity.RESULT_OK)
{
if (requestCode == NEW_FOLDER_REQUEST_CODE)
{
if (resultData != null) {
currentUri = resultData.getData();
DocumentFile pickedDir = DocumentFile.fromTreeUri(this, currentUri);
DocumentFile newDir = pickedDir.createDirectory("MyFolder");
textView.setText(newDir.getName());
}
}
}
}
You cannot create "create new folder on SD card". You can create a new folder inside some other folder that the user chooses, but you cannot force the user to choose removable storage.
To create a new folder inside of some other folder, this should work:
Start an activity with startActivityForResult()
on an ACTION_OPEN_DOCUMENT_TREE
Intent
, to allow the user to choose a folder. Include FLAG_DIR_SUPPORTS_CREATE
to ensure that you can create something new in the folder.
In onActivityResult()
, wrap the Uri
that you get in a DocumentFile
, then call createDirectory()
on it to create a new folder as a child of whatever the user chose.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With