Android11如何使用文件选择器?
创始人
2024-08-20 11:00:41
0

在Android 11中,FileProvider已经被替代为了DocumentProvider。因此,我们需要用SAF(Storage Access Framework)来实现新的文件选择器。SAF允许用户授权访问外部存储设备中的文件和目录,使得开发人员可以在应用程序中访问这些文件和目录。

以下是使用SAF实现文件选择器的示例代码:

1.添加依赖项:

dependencies {
    implementation 'com.android.support:appcompat-v7:30.0.0'
    implementation 'com.android.support:design:30.0.0'
}

2.在AndroidManifest.xml文件中添加以下内容:


3.在Activity中创建变量和常量:

private static final int READ_REQUEST_CODE = 42;
private static final String MIME_TYPE_IMAGE = "image/*";

4.创建打开文件选择器对话框的方法:

public void openFileSelector() {
    Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
    intent.setType(MIME_TYPE_IMAGE);
    startActivityForResult(intent, READ_REQUEST_CODE);
}

5.在onActivityResult中处理返回的数据:

@Override
public void onActivityResult(int requestCode, int resultCode, Intent resultData) {
    if (requestCode == READ_REQUEST_CODE && resultCode == Activity.RESULT_OK) {
        Uri uri = null;
        if (resultData != null) {
            uri = resultData.getData();
            Log.i(TAG, "Uri: " + uri.toString());
            // Do something with the file here
        }
    }
}

6.现在,当用户点击打开文件选择器按钮时,会打开文件选择器对话框。在选择文件后,onActivityResult方法将自动调用,并返回用户选择的文件的URI。您可以使用这个URI来读取或处理选择的文件。

注意事项: 1.在使用SAF时,您的应用程序需要获取外部存储权限。 2.如果您想让用户选择文件和目录,可以使用

相关内容

热门资讯

透视ai!德普之星辅助器怎么用... 透视ai!德普之星辅助器怎么用,德普之星辅助软件(透视)总是真的是有挂(有挂辅助)-哔哩哔哩1)德普...
备受关注的!新二号辅助软件多少... 备受关注的!新二号辅助软件多少钱,下载微乐小程序自建房透视,方案教程(发现有挂)-哔哩哔哩该软件可以...
透视黑科技!德普之星透视辅助软... 透视黑科技!德普之星透视辅助软件下载,德普之星辅助器app(透视)切实真的是有挂(有挂规律)-哔哩哔...
昨日!花花生活圈脚本,微乐自建... 昨日!花花生活圈脚本,微乐自建房辅助,指南书教程(有挂分享)-哔哩哔哩1、花花生活圈脚本脚本辅助下载...
透视安装!德普之星透视辅助,德... 透视安装!德普之星透视辅助,德普之星透视辅助插件(透视)确实存在有挂(有挂神器)-哔哩哔哩该软件可以...
针对!中至赣牌圈祈福转运,新众... 您好,中至赣牌圈祈福转运这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多...
辅助透视!德普辅助器怎么用,德... 辅助透视!德普辅助器怎么用,德扑之心免费透视(透视)原来有挂(有挂工具)-哔哩哔哩1、下载好德扑之心...
这一问题亟待解决!微信小程序微... 这一问题亟待解决!微信小程序微乐房间怎么辅助,cloudpoker怎么开挂,法子教程(有挂秘笈)-哔...
透视透视!德普之星辅助器app... 透视透视!德普之星辅助器app,德普之星透视辅助软件下载(透视)切实存在有挂(有挂攻略)-哔哩哔哩1...
据报道!四川家园辅助器,微乐自... 据报道!四川家园辅助器,微乐自建房插件详细教程,手段教程(存在有挂)-哔哩哔哩1、起透看视 微乐自建...