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))
    }
相关推荐
诸神黄昏EX1 小时前
Android 分区相关介绍
android
大白要努力!2 小时前
android 使用SQLiteOpenHelper 如何优化数据库的性能
android·数据库·oracle
Estar.Lee2 小时前
时间操作[取当前北京时间]免费API接口教程
android·网络·后端·网络协议·tcp/ip
Winston Wood3 小时前
Perfetto学习大全
android·性能优化·perfetto
简鹿办公4 小时前
如何提取某站 MV 视频中的音乐为 MP3 音频
音视频·简鹿视频格式转换器·视频提取mp3音频
yufengxinpian4 小时前
集成了高性能ARM Cortex-M0+处理器的一款SimpleLink 2.4 GHz无线模块-RF-BM-2340B1
单片机·嵌入式硬件·音视频·智能硬件
Dnelic-5 小时前
【单元测试】【Android】JUnit 4 和 JUnit 5 的差异记录
android·junit·单元测试·android studio·自学笔记
runing_an_min6 小时前
ffmpeg视频滤镜:替换部分帧-freezeframes
ffmpeg·音视频·freezeframes
Eastsea.Chen8 小时前
MTK Android12 user版本MtkLogger
android·framework
runing_an_min8 小时前
ffmpeg视频滤镜:提取缩略图-framestep
ffmpeg·音视频·framestep