Google Play 会限制应用使用高风险或敏感权限,其中包括 QUERY_ALL_PACKAGES
权限,该权限可让应用查询指定设备上已安装应用的目录。Play 将从用户设备上查询到的已安装应用的目录视为私人敏感信息,仅当您的应用为实现面向用户的核心功能或用途而必须全面了解用户设备上已安装的应用时,Play 才会允许应用使用该权限。
如果您的应用不符合下方的使用限制要求,您必须从应用的清单中移除此权限才能符合 Play 政策。下文还围绕符合政策的替代实现方式详细介绍了相关建议。
如果您的应用对 QUERY_ALL_PACKAGES
权限的使用在使用限制范围内,那么您必须使用 Play 管理中心内的权限声明表单声明此权限以及所有其他高风险权限。
对于不符合政策要求或未提交权限声明表单的应用,我们可能会将其从 Google Play 下架。
重要提示:如果您更改应用对这些受限权限的使用方式,则必须修订您的声明,提供准确的最新信息。如果未如实声明或未声明这些权限,我们可能会暂停您的应用并/或终止您的开发者账号。
在什么情况下应该请求 QUERY_ALL_PACKAGES 权限?
仅当您的应用在搭载 Android 11 或更高版本的设备上以 Android API 级别 30 或更高版本为目标运行环境时,该应用才能使用 QUERY_ALL_PACKAGES
权限。
要想使用此权限,您的应用对此权限的使用必须在下方列出的允许使用情形范畴内,并且应用的核心用途之一是搜索设备上的所有应用。您必须能够给出充分理由,说明为何您的应用如果以侵扰度较低的方式查询其他应用的安装情况,则不足以实现符合政策规定的面向用户的核心功能。
核心功能即应用的主要用途。如果不具备搜索设备上所有应用这一核心功能,应用就会“损坏”或无法使用。对于核心功能以及构成核心功能的所有核心特性,您必须在应用说明中醒目地载明并宣传。
QUERY_ALL_PACKAGES 权限的允许使用情形允许的使用情形涉及满足以下条件的应用:为了解相关情况或进行互操作(可能符合该权限的使用条件),必须发现设备上任何及所有已安装的应用。允许的使用情形包括:设备搜索、杀毒应用、文件管理器和浏览器。
获准使用此权限的应用必须遵守用户数据政策(包括关于提供醒目披露声明和征求用户同意的要求),并且不得将其使用情形扩大到未声明或无效的用途。
对于下述不符合上文指定的允许使用情形的应用,Google Play 可能会暂时按例外情况来处理。
- 符合以下条件的现金赌博应用:应用的核心用途是进行现金赌博,并且应用需要使用广泛的软件包可见性权限,才能符合适用的地理围栏法规所规定的技术标准。
- 如果应用的某个可验证的核心用途是协助处理金融交易,且相关交易涉及受金融监管的工具(例如专用银行服务、专用数字钱包),我们可能会允许该应用仅出于安全方面的目的而广泛地查询已安装的应用。
根据我们的“个人贷款”政策,以任何个人贷款/信贷为目的或出于协助获取个人贷款的原因而使用这项权限的行为均不属于此类例外情况的范畴。
我们鼓励开发者积极采用不依赖 QUERY_ALL_PACKAGES
权限的替代安全保护或欺诈防范解决方案。
以下列出了不可请求 QUERY_ALL_PACKAGES
权限的使用情形:
- 对该权限的使用与实现应用的核心用途并没有直接关系。
- 此类使用情形包括点对点 (P2P) 分享。点对点分享只有在作为应用的核心用途的情况下,才属于允许的使用情形。
- 获取数据是为了将其出售。
- 从通过 Play 分发的应用获取应用目录数据是为了将其出售或分享给他方,用于分析或广告创收用途。
- 无需非常广泛地查询应用安装情况就能完成目标任务。
注意:此列表仅列出了部分情形。如需查阅替代方法和最佳做法方面的深入指南,请参阅 Android 上的软件包可见性过滤。