我正在使用Android Q SDK
测试我的应用程序,并且在重构了某些内容以使其与新的API
兼容之后,我陷入了请求某些权限的困境。
在应用清单文件中,我声明了e.x
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
使用Android Q SDK
进行编译时,它表示已弃用。
查看文档后,他们说:
在API级别Q中不推荐使用此常数。 Q中的强类型权限组。
那么,strongly-typed permission
是什么?如何以正确的方式声明并从应用程序代码(java或kotlin)中进行请求?或者他们还没有为此提供任何文档,我们应该等待以下消息吗?
Ps:android.permission-group.STORAGE
也已被弃用。
答案 0 :(得分:1)
引用myself:
现在有三个“强类型” 读取外部存储的权限:
READ_MEDIA_AUDIO
READ_MEDIA_IMAGES
READ_MEDIA_VIDEO
这些是
dangerous
权限,因此您将以与READ_EXTERNAL_STORAGE
相同的方式处理它们。 如果您的应用将targetSdkVersion
设置为Q
,则可以请求这三个权限, 而且您获得的访问级别与API 28级或更低级别的应用相同 通过在Q设备上请求READ_EXTERNAL_STORAGE
获得。那还是很有限的 只能通过MediaStore
访问,但这总比没有好。
请注意,此信息是Q Beta 2的最新信息,将来的beta版本可能会改变情况。