Android 11 中的软件包可见性
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
Android 11 更改了应用查询用户已在设备上安装的其他应用以及与之交互的方式。使用 <queries>
元素,应用可以定义一组自身可访问的其他软件包。通过告知系统应向您的应用显示哪些其他软件包,此元素有助于鼓励最小权限原则。此外,此元素还可帮助 Google Play 等应用商店评估应用为用户提供的隐私权和安全性。
如果您的应用以 Android 11 或更高版本为目标平台,您可能需要在应用的清单文件中添加 <queries>
元素。在 <queries>
元素中,您可以按软件包名称、intent 签名或提供程序授权指定软件包。
如需了解详情,请参阅有关如何管理其他已安装应用的软件包可见性(您的应用以 Android 11 或更高版本为目标平台时)。
测试变更
如需测试此行为变更是否已在您的应用中生效,请完成以下步骤:
- 安装 Android Studio 3.6.1 或更高版本。
- 安装 Android Studio 支持的最新版 Gradle。
- 将应用的
targetSdkVersion
设为 30
。
- 不要在应用的清单文件中添加
<queries>
元素。
- 调用
getInstalledApplications()
或 getInstalledPackages()
。这两种方法都应返回过滤后的列表。
- 查看应用的哪些功能无法正常使用。
- 引入适当的
<queries>
条目来修复这些功能。
本页面上的内容和代码示例受内容许可部分所述许可的限制。Java 和 OpenJDK 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2020-09-18。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"没有我需要的信息"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"太复杂/步骤太多"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"内容需要更新"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻译问题"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"示例/代码问题"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"其他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"易于理解"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"解决了我的问题"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"其他"
}]