我想知道如何使用“存储访问框架”在SD卡上创建新文件夹。如果您给我代码,那将是非常好的。我已经搜索了其他问题和答案,但没有找到方法和答案。
添加每个“ CommonsWare”答案已经起作用的代码。请注意,这是我发现它可以在装有Android OS 5.1.1的手机SS A5上的SD卡中创建新文件夹的唯一方法
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());
}
}
}
}
您无法创建“在SD卡上创建新文件夹”。您可以在用户选择的其他文件夹中创建一个新文件夹,但是不能强制用户选择可移动存储。
要在其他文件夹中创建一个新文件夹,这应该可以工作:
与启动活动startActivityForResult()
上的ACTION_OPEN_DOCUMENT_TREE
Intent
,以允许用户选择一个文件夹。 包括 FLAG_DIR_SUPPORTS_CREATE
以确保您可以在文件夹中创建新的东西。
在中onActivityResult()
,用包裹Uri
您所获得的DocumentFile
,然后调用createDirectory()
它以创建一个新文件夹,作为用户选择的子文件夹。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句