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

相关内容

热门资讯

黑科技讲解(红龙扑克辅助器原理... 黑科技讲解(红龙扑克辅助器原理)外挂黑科技辅助安装(透视)一贯真的是有挂(黑科技方法);1.红龙扑克...
黑科技中牌率(wepoke辅助... 黑科技中牌率(wepoke辅助挂)外挂透明挂辅助神器(透视)切实是真的有挂(黑科技解密)1)wepo...
黑科技讲解(wepoke黑科技... 黑科技讲解(wepoke黑科技设备)外挂透视辅助软件(透视)原来是真的有挂(黑科技脚本)1、这是跨平...
黑科技科技(德扑之星辅牌软件)... 黑科技科技(德扑之星辅牌软件)外挂透明挂辅助安装(透视)都是是真的有挂(黑科技规律)1、完成德扑之星...
黑科技模拟器(红龙扑克辅助器)... 黑科技模拟器(红龙扑克辅助器)外挂黑科技辅助app(透视)总是是有挂(黑科技细节)1、不需要AI权限...
黑科技计算(德扑之星辅助工具)... 黑科技计算(德扑之星辅助工具)外挂透明挂辅助app(透视)一直存在有挂(黑科技攻略)1、德扑之星辅助...
黑科技苹果版(智星菠萝德州有挂... 黑科技苹果版(智星菠萝德州有挂吗)外挂透视辅助神器(透视)确实有挂(黑科技介绍);该软件可以轻松地帮...
黑科技了解(德州之星有外挂吗)... 黑科技了解(德州之星有外挂吗)外挂黑科技辅助器(透视)一贯是真的有挂(黑科技辅助)德州之星有外挂吗辅...
黑科技肯定(德扑ai代打可靠吗... 黑科技肯定(德扑ai代打可靠吗)外挂透明挂辅助神器(透视)原来真的有挂(黑科技技巧)1、起透看视 德...
黑科技好友房(aapoker外... 黑科技好友房(aapoker外挂购买)外挂透视辅助教程(透视)好像真的有挂(黑科技介绍);1、这是跨...