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"/>