前言
android隐式意图可以帮我们唤起系统内的其它应用,这个很好理解。系统桌面也是一个app,它能做到的事情我们一样可以做到。
Intent intent = new Intent();
ComponentName cmp= new ComponentName(pkg, cls);
intent.setAction(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setComponent(cmp);
context.startActivity(intent);
那我们如何找到应用的pkg和class信息呢?
1.首先把我们希望唤醒的应用打开,其它任务全部退出(主要是方便我们去查找应用)
2.使用:adb shell dumpsys activity activities 命令,输出活动应用活动页面信息
adb shell dumpsys activity activities
3.找到pkg信息和class信息(如上图红色线框)
常见应用的pkg和class信息
应用名称 | 应用pkg信息 | 应用class |
---|---|---|
花生地铁 | com.nfyg.hsbb | com.nfyg.hsbb.HSLauncherActivity |
手机天猫 | com.tmall.wireless | com.tmall.wireless.splash.TMSplashActivity |
西瓜视频 | com.ss.android.article.video | com.ss.android.article.video.activity.SplashActivity |
微信 | com.tencent.mm | com.tencent.mm.ui.LauncherUI |
com.tencent.mobileqq | com.tencent.mobileqq.activity.SplashActivity | |
ABOUTCG | com.aboutcg.app | com.aboutcg.app.common.baseactivity.StartActivity |
支付宝 | com.eg.android.AlipayGphone | com.eg.android.AlipayGphone.AlipayLogin |