android 14及android15 READ_EXTERNAL_STORAGE跟相册,视频权限的适配

最近在做Android15的适配,发现WRITE_EXTERNAL_STORAGE跟READ_EXTERNAL_STORAGE无法使用了,被弃用了

  • 在android 13添加了外部细分权限,READ_MEDIA_IMAGES跟READ_MEDIA_VIDEO及 READ_MEDIA_AUDIO权限,而在应用内部的文件管理则不需要权限,直接可以进行操作。

在android 14又增加了READ_MEDIA_VISUAL_USER_SELECTED,如果你想要在android14上访问外部的照片跟视频,则需要这三个权限:READ_MEDIA_VISUAL_USER_SELECTED,READ_MEDIA_IMAGESREAD_MEDIA_VIDEO

所以最终做的适配:

判断权限的请求结果需要分4种情况,分别是:

Android 13及以上完整照片和视频访问权限

Android 14及以上部分照片和视频访问权限

Android 12及以下完整本地读写访问权限

java 复制代码
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
        permissionLauncher.launch(
            arrayOf(READ_MEDIA_IMAGES,
                READ_MEDIA_VIDEO,
                READ_MEDIA_VISUAL_USER_SELECTED)
        )
    } else if (Build.VERSION.SDK_INT == Build.VERSION_CODES.TIRAMISU) {
        permissionLauncher.launch(arrayOf(READ_MEDIA_IMAGES, READ_MEDIA_VIDEO))
    } else {
        permissionLauncher.launch(arrayOf(READ_EXTERNAL_STORAGE))
    }
相关推荐
STCNXPARM2 小时前
Linux camera之V4L2子系统详解
android·linux·camera·v4l2架构
2501_944525542 小时前
Flutter for OpenHarmony 个人理财管理App实战 - 账户详情页面
android·java·开发语言·前端·javascript·flutter
liliangcsdn3 小时前
文本视频音频分块工具 - Semantic Chunkers
人工智能·音视频
风栖柳白杨5 小时前
【语音识别】一些音频的使用方法
人工智能·音视频·语音识别
不急不躁1236 小时前
Android16 GTS GtsPermissionTestcases 测试,跳过权限检查
android
符哥20087 小时前
关于用Android Compose开发成不成熟的分析
android·android jetpack
蜗牛、Z7 小时前
Android 蓝牙/Wi-Fi通信协议之:蓝牙扫描ScanCallback详解
android
黄昏晓x7 小时前
Linux----进程控制
android·linux·运维
我是阿亮啊8 小时前
android中事件分发机制
android·事件分发·事件分发机制