开发者网站上描述了这一行,但我没有完全理解它
Call getInstalledApplications() or getInstalledPackages(). Both methods should return a filtered list.
事实上,我需要测试Testing package visibility behavior
https://developer.android.com/training/package-visibility/testing https://developer.android.com/training/package-visibility/testing
Android 11 中有 3 种不同的方式来查询用户已安装的应用程序。
- 如果您已经知道要查询哪些应用程序,只需提及
里面的包名
<queries>
中的元素AndroidManifest
.
<manifest package="com.nikit.app">
<queries>
<package android:name="com.fake.app" />
<package android:name="com.fake.game" />
</queries>
...
</manifest>
- 如果您不知道您要安装的应用程序的所有包名称
想要查询,但有一组具有类似功能的应用程序
你想要查询然后你可以在里面使用意图过滤器
<queries>
像以前一样根据您的要求元素
在下面的代码片段中完成。
<manifest package="com.nikit.app">
<queries>
<intent>
<action android:name="android.intent.action.SEND" />
<data android:mimeType="image/jpeg" />
</intent>
</queries>
...
</manifest>
The <intent>
元素看起来像<intent-filter>
但差别不大。元素有以下限制:
- The
<intent>
元素只能有一个<action>
元素。
- 该元素只能具有以下属性:
mimeType
,
scheme
and host
.
- 如果您想像您一样查询用户的所有应用程序
早些时候,您需要包括
QUERY_ALL_PACKAGES
的许可AndroidManifest
。它是一个normal
并尽快授予许可
安装应用程序后。
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)