You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AndroidManifest中不同权限名称前缀有何区别?如何查询?

权限前缀的设计逻辑

AndroidManifest中的权限前缀不是随意设定的,遵循反向域名的命名规则,不同前缀对应不同的权限定义主体:

  • android.permission.*前缀:属于Android原生系统定义的权限,由AOSP(安卓开放源代码项目)维护,随系统版本迭代更新。你示例中Android 10(API 29)及以上使用的ACTIVITY_RECOGNITION就属于这一类,是因为谷歌已经将活动识别能力纳入了原生系统的权限管控体系。
  • com.google.android.gms.permission.*前缀:属于谷歌移动服务(GMS)框架定义的权限。GMS不属于AOSP原生组件,是谷歌额外提供的服务套件,这类权限用于管控应用对GMS提供的各类能力的访问。你示例中API 28及以下使用的活动识别权限就属于这一类,因为当时该能力还没有纳入原生系统,由GMS提供。
    补充通用规则:任何主体自定义权限都需要使用自身持有的反向域名作为前缀,避免不同主体的权限重名冲突,比如第三方应用自定义权限需要用自己的应用包名作为前缀。
不同前缀权限的查询方式

目前没有覆盖所有前缀权限的统一参考文档,不同前缀的权限由对应主体各自维护文档:

  • 原生android.permission.*权限可以在安卓官方开发者文档查询
  • GMS定义的com.google.android.gms.permission.*前缀权限,可以在谷歌Play服务的官方开发者文档对应功能模块查询
  • 其他厂商、第三方SDK、普通应用自定义的权限,只能到对应主体的官方开发文档中查询
活动识别权限适配示例
<!-- 适用于API 28及以下系统 -->
<uses-permission android:name="com.google.android.gms.permission.ACTIVITY_RECOGNITION" />
<!-- 适用于API 29及以上系统 -->
<uses-permission android:name="android.permission.ACTIVITY_RECOGNITION" />

内容的提问来源于stack exchange,提问作者David Aleksanyan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 18:06:01