2021-11-04 遇到的一点小问题
最近Android开发需要获取某个app的版本,并跳转打开。之前一直用的代码竟然都无法实现。
//获取app版本名称
PackageInfo packageInfo = getPackageManager().getPackageInfo("com.wannoo.test", 0);
String versionName= packageInfo.versionName;
//打开app
Intent intent = getPackageManager().getLaunchIntentForPackage("com.wannoo.test");
startActivity(intent);
确定包名,打算使用获取全部安装的应用的方法来查看,结果Android Studio有提示,Android 11无法查看。
getInstalledPackages
这几天确实将手机升级版本到
Android 11
。看来是因为Android 11的软件包可见性影响的。知道问题,网上搜一下就很多解决方案了。
我的build.gradle是
targetSdkVersion 30
,参考Android11适配-包可见性,在AndroidManifest.xml
里添加queries
,就可以了。
<queries>
<package android:name="com.wannoo.test" />
<package android:name="com.spotify.music" />
<package android:name="com.roon.mobile" />
</queries>
看了下谷歌开发者发表的您离成功还差一本免费的《Android 11 开发者手册》里面的《Android 11 开发者手册》,发现queries
里的内容必须明确,不能动态添加。
顺便看了下拖不得了,Android11真的来了,最全适配实践指南奉上,看看app还有哪些要修改的。
网友评论