Android11内部存储文件访问
创始人
2024-08-20 11:00:37
0

在 Android 11 中,应用程序需要通过特定的途径来访问内部存储的文件,否则会抛出 FileUriExposedException 异常。

为了解决这个问题,可以使用以下示例代码中的方法来打开文件选择器并获取所选文件的 Uri,然后使用 ContentResolver 打开文件。

首先,在 AndroidManifest.xml 文件中添加以下权限:


然后,在要访问内部存储文件的 Activity 中添加以下代码,以打开文件选择器并获取所选文件的 Uri。

private static final int REQUEST_CODE_OPEN_DOCUMENT = 2;

private void openFile() {
    Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
    intent.setType("*/*");
    intent.addCategory(Intent.CATEGORY_OPENABLE);
    startActivityForResult(intent, REQUEST_CODE_OPEN_DOCUMENT);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    if (requestCode == REQUEST_CODE_OPEN_DOCUMENT && resultCode == RESULT_OK && data != null) {
        Uri uri = data.getData();
        if (uri != null) {
            // 使用 ContentResolver 打开文件
            try {
                InputStream inputStream = getContentResolver().openInputStream(uri);
                // 处理文件流
                inputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    } else {
        super.onActivityResult(requestCode, resultCode, data);
    }
}

在上面的代码中,openFile() 方法用于启动文件选择器,onActivityResult() 方法中处理文件流。

需要注意的是,运行此代码需要将应用程序的 targetSdkVersion 设置为 30 或更高版本。

参考文献:https://developer.android.com/training/data-storage/use-cases#opt-out-scoped-storage

相关内容

热门资讯

黑科技安装(微扑克开发)Wep... 黑科技安装(微扑克开发)WepoKe固有真的有挂!太无语了切实是有挂(2022已更新)(哔哩哔哩),...
黑科技了解(aapoker手游... 黑科技了解(aapoker手游版)wePoKe原先存在有挂!太夸张了素来真的是有挂(2023已更新)...
黑科技好牌(wpk微扑克)德州... 这是一款非常优秀的德州aa州克 ia辅助检测软件,能够让你了解到德州aa州克中牌率当中全部隐藏参数,...
黑科技辅助挂(wpk代打)po... 黑科技辅助挂(wpk代打)poker master安卓版本然真的有挂!太无语了从来有挂(2021已更...
黑科技美元局(轰趴十三水)德州... 自定义轰趴十三水系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑克专用辅助器,不管你是想...
黑科技美元局(wpk俱乐部)a... 黑科技美元局(wpk俱乐部)aapoKer果然有挂!太夸张了真是是真的有挂(2026已更新)(哔哩哔...
黑科技系统(aa poker辅... 1、黑科技系统(aa poker辅助软件)德州wepower本来有挂!太无语了本来是真的有挂(202...
黑科技ai代打(Wepoke系... 黑科技ai代打(Wepoke系统)WPK固有是有挂!太嚣张了固有真的有挂(2024已更新)(哔哩哔哩...
黑科技教程(wpk稳赢)aaP... 黑科技教程(wpk稳赢)aaPoker切实存在有挂!太夸张了原来有挂(2022已更新)(哔哩哔哩)这...
黑科技有挂(微扑克脚本)aa扑... 黑科技有挂(微扑克脚本)aa扑克果然有挂!太坑了固有真的有挂(2025已更新)(哔哩哔哩)1、许多玩...