gpt4 book ai didi

android - 如何使用存储访问框架在 sd 卡中创建新文件夹?

转载 作者:行者123 更新时间:2023-12-03 20:34:05 25 4
gpt4 key购买 nike

我想知道如何使用“存储访问框架”在 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() 开始 Activity 在 an ACTION_OPEN_DOCUMENT_TREE Intent , 以允许用户选择文件夹。包括FLAG_DIR_SUPPORTS_CREATE以确保您可以在文件夹中创建新内容。
  • onActivityResult() , 包装 Uri你得到一个DocumentFile ,然后 call createDirectory() 在它上面创建一个新文件夹作为用户选择的任何内容的子文件夹。
  • 关于android - 如何使用存储访问框架在 sd 卡中创建新文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36546606/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com