minSDK=21的Android应用,Manifest中需配置哪些音频读取权限?
Android 权限申请方案(minSDK=21,适配API33+)
你需要同时在Manifest中声明READ_EXTERNAL_STORAGE和READ_MEDIA_AUDIO,具体原因和逻辑如下:
- 针对API 32及以下设备:系统仅识别
READ_EXTERNAL_STORAGE权限,该权限可覆盖读取音频文件的需求,是旧版本系统的标准存储读取权限。 - 针对API 33及以上设备:
READ_EXTERNAL_STORAGE不再生效,必须使用细分的READ_MEDIA_AUDIO权限才能读取音频媒体文件,系统会自动忽略旧权限的声明(不会向用户展示该权限申请)。
运行时权限申请需按系统版本区分:
- 当设备
SDK_INT >= 33时,申请READ_MEDIA_AUDIO - 当设备
SDK_INT < 33时,申请READ_EXTERNAL_STORAGE
这种配置既能兼容低版本设备,又能符合Android 13及以上的权限规范。
内容的提问来源于stack exchange,提问作者Wrichik Basu
相关产品推荐
相关产品推荐

