启动与关闭应用——launchApp、launchPackage、后台应用切换
启动应用
launchApp() — 通过应用名启动
launchApp("淘宝");
launchApp("微信");
中文应用名,Auto.js 会自动匹配系统里已安装的应用。
launchPackage() — 通过包名启动(更准确)
launchPackage("com.taobao.taobao");
launchPackage("com.tencent.mm");
包名方式不会受应用名变动影响,推荐在生产脚本中使用。
startActivity() — 更灵活的启动
app.startActivity({
packageName: "com.taobao.taobao",
className: "com.taobao.taobao.TaobaoHomeActivity"
});
可以指定要打开的 Activity,跳到应用内部特定页面。也可以打开系统设置页面:
app.startActivity({ action: "android.settings.ACCESSIBILITY_SETTINGS" });
关闭应用
back() — 返回键
back(); // 按一次返回键
home(); // 回到桌面
recent(); // 打开最近任务列表
forceStop(packageName) — 强制停止
app.forceStop("com.taobao.taobao");
注意:forceStop 需要特殊权限,普通脚本不一定能用。
判断应用是否在前台
if (currentPackage() == "com.taobao.taobao") {
log("淘宝正在前台运行");
}
实战:启动并等待加载完成
launchApp("淘宝");
// 等待淘宝首页加载——等「搜索框」出现
id("com.taobao.taobao:id/rl_search").waitFor(10000);
log("淘宝已就绪");
常用应用包名速查
| 应用 | 包名 |
|---|---|
| 微信 | com.tencent.mm |
| 淘宝 | com.taobao.taobao |
| 支付宝 | com.eg.android.AlipayGphone |
| 京东 | com.jingdong.app.mall |
| 抖音 | com.ss.android.ugc.aweme |
| com.tencent.mobileqq | |
| 网易云音乐 | com.netease.cloudmusic |
| 高德地图 | com.autonavi.minimap |
不确定包名时,悬浮窗 → 「查看包名」即可获取当前前台应用的包名和 Activity。