[英]Android permission READ_MEDIA_AUDIO and READ_EXTERNAL_STORAGE for API level < 33
In API 33 (Android 13), granular media permissions have been introduced , and developers have to request these granular permissions instead of READ_EXTERNAL_STORAGE
.在 API 33 (Android 13) 中, 引入了粒度媒体权限,开发者必须请求这些粒度权限,而不是READ_EXTERNAL_STORAGE
。
READ_MEDIA_AUDIO
is one such granular permission. READ_MEDIA_AUDIO
就是这样一种精细权限。 This permission exists only in API level 33+, so my question is, which permission should I request in the manifest ?此权限仅存在于 API 级别 33+,所以我的问题是,我应该在清单中请求哪个权限?
Since my app has minSDK = 21
, should I request both READ_EXTERNAL_STORAGE
and READ_MEDIA_AUDIO
in the manifest.由于我的应用程序有minSDK = 21
,我是否应该在清单中同时请求READ_EXTERNAL_STORAGE
和READ_MEDIA_AUDIO
。 Or should I only request READ_EXTERNAL_STORAGE
and that will cover READ_MEDIA_AUDIO
?或者我应该只请求READ_EXTERNAL_STORAGE
并且这将涵盖READ_MEDIA_AUDIO
? (At runtime, of course, I will ask for either of the permission based on the SDK_INT
of the device.) (当然,在运行时,我会根据设备的SDK_INT
请求其中一个权限。)
You should add both permissions to your manifest您应该将这两种权限都添加到您的清单中
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO"/>
The READ_MEDIA_AUDIO
permission will work only for devices with Android 13 or above. READ_MEDIA_AUDIO
权限仅适用于 Android 13 或更高版本的设备。
Then, as you wrote, you should handle each case of the SDK (this section may be helpful for other developers):然后,正如您所写,您应该处理 SDK 的每个案例(本节可能对其他开发人员有所帮助):
READ_EXTERNAL_STORAGE
permission ( https://developer.android.com/training/permissions/requesting )从 SDK 23 开始,您应该使用READ_EXTERNAL_STORAGE
权限的运行时权限( https://developer.android.com/training/permissions/requesting )READ_EXTERNAL_STORAGE
permission.从 Android 11 (SDK 30) 开始,有与外部存储相关的更改,但是,您仍然可以使用相同的READ_EXTERNAL_STORAGE
权限下载音频文件。 Regarding the changes, for example the directory Recordings
exists only from the SDK 31 (source: https://developer.android.com/training/data-storage/shared/media#media_store )关于更改,例如目录Recordings
仅存在于 SDK 31(来源: https://developer.android.com/training/data-storage/shared/media#media_store )READ_MEDIA_AUDIO
从 SDK 开始 33 请求粒度权限READ_MEDIA_AUDIO
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.