Android11 了, 在查找用户手机是否有安装app,进行查询包名是否存在时,朋友们有没发现getPackageManager().getPackageInfo()这个函数一直返回null 呢,查了好久才知道,好家伙,Android 11对这个增加了要求,下面是解决方法

1、只是查询指定的App 包

只需要在AndroidManifest.xml这个文件内添加要查询的包名就可以,比如

<queries>
        <package android:name="com.instagram.android" />
 </queries>

<manifest package="com.text.app">
    <queries>
        <package android:name="com.instagram.android" />
    </queries>
    ...
</manifest>

2、查询用户所有的App 包

这个需要用户权限,需要在AndroidManifest.xml中添加使用权限(一般为了用户隐私,很少用到这个)


<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/>

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐