AndroidScopedStorage和外部存储
创始人
2024-10-10 01:00:17
0

Android系统从Android 10开始,引入了Scoped Storage机制,该机制旨在加强安全性并限制对外部存储器的访问。它可以限制应用程序直接访问外部存储器根目录的权限,只有与应用程序关联的存储空间可以进行读写操作。这意味着,应用程序如果想要访问外部存储器,必须向用户请求权限。

下面是如何在Android应用程序中读取外部存储器的代码示例:

// 检查读写外部存储器的权限
if (ContextCompat.checkSelfPermission(
    context, Manifest.permission.READ_EXTERNAL_STORAGE)
        == PackageManager.PERMISSION_GRANTED) {

    // 如果用户已经授权,则开始读写存储

} else {

    // 如果用户没有授权,则向用户请求授权
    ActivityCompat.requestPermissions(
        activity,
        new String[] { Manifest.permission.READ_EXTERNAL_STORAGE },
        MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE
    );
}

// 处理用户的权限请求响应
@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
    switch (requestCode) {
        case MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE: {
            if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {

                // 如果用户已经同意访问外部存储器,则开始读写存储

            } else {

                // 如果用户拒绝访问外部存储器,则向用户显示一条消息

            }
            return;
        }
    }
}

而如果我们希望使用Scoped Storage机制的话,我们可以通过类似以下代码的方式来读取外部存储器:

// 获取与应用程序关联的存储空间的根目录
File file = context.getExternalFilesDir(Environment.DIRECTORY_PICTURES);

// 读取该存储空间下图片文件的内容并展示
List pictureFilesList

相关内容

热门资讯

昨日!wepoker插件程序激... 昨日!wepoker插件程序激活码(透视)原来有辅助平台(有挂详情)-哔哩哔哩1、超多福利:超高返利...
透视了解!wepoker透视破... 透视了解!wepoker透视破解版(透视)切实有辅助插件(有挂方法)-哔哩哔哩1、下载好wepoke...
透视免费!pokemmo脚本最... 透视免费!pokemmo脚本最新版(透视)竟然是有辅助下载(有挂攻略)-哔哩哔哩1、用户打开应用后不...
据文件显示!wepoker怎么... 据文件显示!wepoker怎么看牌型(透视)竟然是有辅助辅助器(有挂辅助)-哔哩哔哩1、不需要AI权...
据悉!wejoker免费脚本(... 据悉!wejoker免费脚本(透视)真是真的是有辅助平台(存在有挂)-哔哩哔哩暗藏猫腻,小编详细说明...
透视透视!wpk系统是否存在作... 透视透视!wpk系统是否存在作必弊行为(透视)切实存在有辅助神器(有挂头条)-哔哩哔哩1、wpk系统...
最新消息!hhpoker可以控... 最新消息!hhpoker可以控制牌吗(透视)切实是真的辅助插件(有挂解惑)-哔哩哔哩1、用户打开应用...
透视辅助!we-poker辅助... 透视辅助!we-poker辅助(透视)确实有辅助app(有挂方针)-哔哩哔哩1、we-poker辅助...
透视好友!hhpoker作必弊... 透视好友!hhpoker作必弊实战视频(透视)本来真的有辅助辅助器(有挂方针)-哔哩哔哩1、首先打开...
透视科技!aapoker真的假... 透视科技!aapoker真的假的(透视)原来是真的辅助插件(有挂方法)-哔哩哔哩1、完成aapoke...