首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >uses-permission-sdk-23和uses-permission之间的区别?

uses-permission-sdk-23和uses-permission之间的区别?
EN

Stack Overflow用户
提问于 2016-02-23 14:39:13
回答 6查看 9.9K关注 0票数 24

我刚刚了解到android清单文件中较新的标签"uses-permission-sdk-23

代码语言:javascript
复制
<uses-permission-sdk-23 android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.CAMERA" />

有谁能提供这两者之间的区别吗?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2016-02-23 14:47:49

如果应用程序在SDK版本23或更高版本的设备上运行,则为。如果设备正在运行SDK版本22或更低版本的

当您更新应用程序以包含需要附加权限的新功能时。如果用户在运行SDK版本22或更低版本的设备上更新应用程序,系统会在安装时提示用户授予该更新中声明的所有新权限。如果新功能足够小,您可能更喜欢在这些设备上完全禁用该功能,这样用户就不必授予额外的权限来更新应用程序。使用uses-permission-sdk-23元素而不是uses-permission

仅当应用程序运行在支持运行时权限模型的平台上时,才能请求权限。

有关更多信息,请参阅。uses - Permission sdk 23

票数 6
EN

Stack Overflow用户

发布于 2017-03-22 03:58:21

摘要

SDK会对所有23+都生效,<uses-permission-sdk-23>只会对SDK SDK授予权限。

什么时候应该使用<uses-permission-sdk-23>

  • Android SDK 23及以上版本,您可以选择在运行时请求权限,但安装时权限将保持默认状态,安装时不会提示用户。(本质上,这可以用来提示用户根据使用需要授予权限,您有机会解释为什么SDK22和更低版本是needed.)
  • However,,安装时会提示用户权限。由于用户可能认为某些权限可疑或不可靠,因此您可能不想为SDK22及更低版本请求这些权限,因为您无法事先解释为什么需要这些权限,因此<uses-permission-sdk-23> tag.
  • Additionally:文档并不清楚sdk-23权限是否也会导致应用程序在Play compatability.

中被过滤,但如果您打算这样做,文档建议您使用<uses-feature>元素来声明硬件应用商店

推荐

通常,如果您的应用程序不需要支持SDK 22或更低版本,或者如果SDK 22或更低版本不需要您请求的权限,则认为使用<uses-permission-sdk-23>是最佳实践,因为很明显,此权限是在运行时请求的。

否则,应该使用<uses-permission>,因为这是向后兼容的,并且该行为在任何SDK版本上都是正确的;22及更低版本,安装时将请求权限。23及以上版本,您可以在运行时请求。

您应该尽可能在运行时请求权限,因为它允许您向用户解释为什么需要某些权限,而不是在用户可能尚未建立对应用程序的信任时,在安装时使用权限列表提示他们。

备注

这两个属性都接受maxSdkVersion属性,当旧设备需要权限而新设备不需要权限时,可以使用该属性。(例如,安卓文档中显示的WRITE_EXTERNAL_STORAGE示例。)

参考:(Android Documentation)

票数 8
EN

Stack Overflow用户

发布于 2016-02-23 14:45:35

通过使用<uses-permission-sdk-23>元素而不是<uses-permission>,只有当应用程序在支持运行时权限模型的平台上运行时,才能请求权限,在该模型中,用户在应用程序运行时向其授予权限。

这是为了支持棉花糖(-23)的运行时权限特性而引入的。

这只是指定应用程序需要特定的权限,但仅当应用程序运行在SDK版本23或更高版本的设备上时。如果设备运行的是SDK版本22或更低版本,则该应用程序没有指定的权限。当您更新应用程序以包含需要附加权限的新功能时,此元素非常有用。如果用户在运行SDK版本22或更低版本的设备上更新应用程序,系统会在安装时提示用户授予该更新中声明的所有新权限。

您可以参考documentation

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35570533

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档