android 11及以上如何通过包名跳转APP

下面是通过包名跳转到其他APP的代码,以微信APP包名为例:

val intent : Intent?
        intent = activity?.packageManager?.getLaunchIntentForPackage("com.tencent.mm")
        if (intent == null) {
            Log.d("Alex", "intent = $intent")
        } else {
            startActivity(intent)
        }

通过日志可知道,intent为null,当包名错误或者该APP未配置启动Activity时,就会为null,为啥呢?

经过一晚上的上网查询,找到答案了,如下:

Android 11以下,上述代码就可以跳转,但是11及以上,查询包名相关的方法都被限制了,

方法一:必须在AndroidManifest.xml文件里面配置上权限才可,如下:

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

方法二:必须在AndroidManifest.xml文件里面配置上跳转APP的包名,如下:

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

pls:

在Android12版本系统中,Google对QUERY_ALL_PACKAGES权限做了进一步限制,当应用程序在使用getAllPermissionGroups()、getPermissionGroupInfo()、getPermissionInfo()和queryPermissionsByGroup()等四个接口时,应用程序必须申请该权限,才能访问有效数据。以上四个接口分别为获取所有权限组集合、根据指定权限组名称获取权限组信息、根据指定权限获取权限信息和根据权限组查询权限。

同时,在Android12版本系统中,应用程序可以声明并创建一个自定义Activity,该Activity在启动后可让用户管理应用存储在用户设备上的数据。而应用程序使用该Activity的前提是必须同时具有MANAGE_EXTERNAL_STORAGE 权限和QUERY_ALL_PACKAGES 权限。

好了,又可以开心的玩耍了。

常见的一些APP包名:

// 微信 包名 com.tencent.mm //启动类名:com.tencent.mm.ui.LauncherUI

 //QQ 包名 com.tencent.mobileqq  //启动类名:com.tencent.mobileqq.activity.HomeActivity

//支付宝 包名:com.eg.android.AlipayGphone    //启动类名com.eg.android.AlipayGphone.FastStartActivity

//钉钉 包名:com.alibaba.android.rimet    //启动类名:com.alibaba.android.rimet.biz.home.activity.HomeActivity

//QQ空间 包名:com.qzone

//QQ手机管家 包名:com.tencent.qqpimsecure

//微博 包名:com.sina.weibo   //启动类名:com.sina.weibo.EditActivity

//天天动听 包名:com.sds.android.ttpod

//中华万年历 包名:cn.etouch.ecalendar

//百度地图 包名:com.baidu.BaiduMap

//高德地图 包名:com.autonavi.minimap   //启动类名:com.autonavi.map.activity.SplashActivity

//信息 包名:com.android.mms

//设置 包名:com.android.settings

//浏览器 包名:com.android.browser

//计算器 包名:com.android.calculator2

//时钟 包名:com.android.deskclock

//图库 包名:com.android.gallery3d

//相机 包名:com.android.hwcamera

//音乐 包名:com.android.mediacenter

//收音机 包名:com.huawei.android.FMRadio

//录音机 包名:com.android.soundrecorder

//UC浏览器 包名:com.UCMobile

//美图秀秀 包名:com.mt.mtxx.mtxx

//PPTV 包名:com.pplive.androidphone

//书旗免费小说 包名:com.shuqi.controller

//360手机助手 包名:com.qihoo.appstore

//360卫士 包名:com.qihoo360.mobilesafe

//360清理大师 包名:com.qihoo.cleandroid_cn

//百度手机助手 包名:com.baidu.appsearch

//豌豆荚 包名:com.wandoujia.phoenix2

//小米应用商店 包名:com.xiaomi.market

//华为应用商店 包名:com.huawei.appmarket

//安智应用商店 包名:com.hiapk.marketpho

//R.E.管理器 包名:com.speedsoftware.rootexplorer 

//PP手机助手 包名:com.pp.assistant

//OPPO应用商店 包名:com.oppo.market

//联想应用商店  包名:com.lenovo.leos.appstore

//应用宝 包名:com.tencent.android.qqdownloader

猜你喜欢

转载自blog.csdn.net/msn465780/article/details/131692627