运行应用程序 (app.run)
声明
状态 = app.run(应用程序包名 [, Activity名, Activity参数, 等待启动完成再返回, 先停止再启动, 先解锁屏幕再启动])
参数及返回值
- 应用程序包名
- 文本型,需要运行应用的 package_name
应用包标识符,可在打开应用的情况下,运行
app.info
函数查看
- 文本型,需要运行应用的 package_name
应用包标识符,可在打开应用的情况下,运行
- Activity名
- 文本型,可选值,默认为空
- Activity参数
- 传入table类型,可选值,默认为空table
- 等待启动完成再返回
- boolean类型,可选值,默认为true
- 先停止再启动
- boolean类型,可选值,默认为false
- 先解锁屏幕再启动
- boolean类型,可选值,默认为true
- 状态
- 整数型,返回运行状态
- 返回 0 表示启动成功
- 返回 其它值 表示启动失败
- 整数型,返回运行状态
说明
如果该函数在您的脚本中表现不佳,可尝试使用 adb.shell 函数替代它
示例
-- 打开QQ应用,然后退出
local r = app.run("com.tencent.mobileqq") -- 启动应用 包名可在打开应用后,通过函数app.info 中查看
sys.msleep(10 * 1000) -- 等 10 秒
if r == 0 then
app.stop("com.tencent.mobileqq") -- 退出应用
else
sys.print("启动失败")
end
-- 你也可以使用adb命令来启动app,如进入某APP的设置界面
device.adb_shell('am start -n com.smile.gifmaker/com.yxcorp.plugin.setting.activity.SettingsActivity')
注:上述代码中使用了非本章函数 sys.msleep
、sys.print