我刚刚了解到android清单文件中较新的标签"uses-permission-sdk-23“
<uses-permission-sdk-23 android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.CAMERA" />有谁能提供这两者之间的区别吗?
发布于 2017-03-22 03:58:21
摘要
SDK会对所有23+都生效,<uses-permission-sdk-23>只会对SDK SDK授予权限。
什么时候应该使用<uses-permission-sdk-23>?
<uses-permission-sdk-23> tag.sdk-23权限是否也会导致应用程序在Play compatability.中被过滤,但如果您打算这样做,文档建议您使用<uses-feature>元素来声明硬件应用商店
推荐
通常,如果您的应用程序不需要支持SDK 22或更低版本,或者如果SDK 22或更低版本不需要您请求的权限,则认为使用<uses-permission-sdk-23>是最佳实践,因为很明显,此权限是在运行时请求的。
否则,应该使用<uses-permission>,因为这是向后兼容的,并且该行为在任何SDK版本上都是正确的;22及更低版本,安装时将请求权限。23及以上版本,您可以在运行时请求。
您应该尽可能在运行时请求权限,因为它允许您向用户解释为什么需要某些权限,而不是在用户可能尚未建立对应用程序的信任时,在安装时使用权限列表提示他们。
备注
这两个属性都接受maxSdkVersion属性,当旧设备需要权限而新设备不需要权限时,可以使用该属性。(例如,安卓文档中显示的WRITE_EXTERNAL_STORAGE示例。)
https://stackoverflow.com/questions/35570533
复制相似问题