<uses-permission>

注意:在某些情况下,您通过 <uses-permission> 请求的权限可影响 Google Play 如何过滤您的应用。

如果您请求硬件相关的权限(例如 CAMERA),则 Google Play 会假设您的应用需要底层硬件功能,并从设备过滤掉不提供该功能的应用。

要控制过滤,务必在 <uses-feature> 元素中显式声明硬件功能,而不是依赖 Google Play“发现” <uses-permission> 元素中的要求。然后,如果要对特定功能停用过滤,可将 android:required="false" 属性添加到 <uses-feature> 声明中。

有关暗示硬件功能的权限列表,请参阅 <uses-feature> 元素的文档。

语法:
<uses-permission android:name="string"
        android:maxSdkVersion="integer" />
包含它的文件:
<manifest>
说明:
指定用户必须授予的系统权限,以便应用正常运行。当(在运行 Android 5.1 和更低版本的设备上)安装应用或(在运行 Android 6.0 和更高版本的设备上)运行应用时,用户会授予权限。

如需了解有关权限的详细信息,请参阅简介的权限部分和单独的系统权限 API 指南。您可以在 android.Manifest.permission 中找到基础平台定义的权限列表。

属性:
android:name
权限的名称。可以是应用通过 <permission> 元素定义的权限、另一个应用定义的权限,或者一个标准系统权限(例如 "android.permission.CAMERA""android.permission.READ_CONTACTS")。如这些示例所示,权限名称通常以软件包名称为前缀。
android:maxSdkVersion
此权限应授予应用的最高 API 级别。如果从某个 API 级别开始不再需要应用所需的权限,则设置此属性非常有用。

例如,从 Android 4.4(API 级别 19)开始,应用在外部存储空间写入其特定目录(getExternalFilesDir() 提供的目录)时不再需要请求 WRITE_EXTERNAL_STORAGE 权限。但 API 级别 18 和更低版本需要此权限。因此,您可以使用如下声明,声明只有 API 级别 18 及以前版本才需要此权限:

<uses-permission
     android:name="android.permission.WRITE_EXTERNAL_STORAGE"
     android:maxSdkVersion="18" />

这样,从 API 级别 19 开始,系统将不再向您的应用授予 WRITE_EXTERNAL_STORAGE 权限。

此属性为 API 级别 19 中的新增属性。

引入的版本:
API 级别 1
另请参阅: