首页 > 代码库 > Android开发-API指南-<uses-permission>

Android开发-API指南-<uses-permission>

<uses-permission>

英文原文:http://developer.android.com/guide/topics/manifest/uses-permission-element.html
采集(更新)日期:2014-5-16
搬迁自原博客:http://blog.sina.com.cn/s/blog_48d491300100zmx3.html

技术分享

Google Play 过滤

某些时候,通过 <uses-permission> 申请的权限可能会影响 Google Play 对应用程序的过滤行为。

如果申请了硬件相关的权限 — 比如CAMERA — Google Play 就会认为应用程序需要这个底层硬件,对不提供该特性的设备就会滤除该应用程序。

为了控制这种过滤行为,应该确保在<uses-feature>元素中明确声明所需的硬件特性,而不要依靠 Google Play 来“发现”<uses-permission>元素中的请求。如果要禁用对某个特性的过滤,请在<uses-feature>声明中加入android:required="false"属性。

关于隐含了硬件特性需求的权限列表,请参阅<uses-feature>元素的文档。

语法:
<uses-permission android:name="string"   android:maxSdkVersion="integer" />
包含于:
<manifest>
说明:
为了让应用程序能够正常获取所申请的权限,必须要获得用户授权。 权限是在安装时而不是运行时由用户来赋予的。

关于权限的更多信息,请参阅 manifest 介绍文档的 Permissions 部分和另一篇文档 安全和权限。 系统基本权限的清单可以参阅 android.Manifest.permission

属性:
android:name
权限的名称。可以是本应用程序用 <permission> 元素定义的权限、其它应用程序定义的权限,或者是诸如“android.permission.CAMERA”和“android.permission.READ_CONTACTS”之类的标准系统权限。 这两个例子已表明,典型的权限名称应该以包名称作为前缀。
android:maxSdkVersion
将本权限赋予应用程序时,系统应有的最高 API 级别。 如果自某版本 API 级别开始,应用程序不再需要申请本权限了,那么此属性就会很有用。

例如,从 Android 4.4 (API level 19)开始,如果应用程序要往外部存储中属于自己的目录里(由 getExternalFilesDir() 获取)写入数据,就不需要再申请 WRITE_EXTERNAL_STORAGE 权限了。

引入于:
API 级别 1
参阅:
  • <permission>
  • <uses-feature>

Android开发-API指南-<uses-permission>