终止进程后,在亚行一段时间后外壳
问题描述:
我正在从亚行外壳的应用程序是这样的:终止进程后,在亚行一段时间后外壳
adb shell am start -n mypackage/.MainActivity
我需要10秒钟后自动终止应用程序并启动其他应用程序。 我想要做这样的事情:
adb shell timeout -t 10 am start -n mypackage/.MainActivity
但不幸的是,这是行不通的。
输出:
/系统/ bin/sh的:超时没有发现
有什么办法,使这项工作?
答
使用以下
start adb shell am start -n mypackage1/.MainActivity
timout /t 10
kill mypackage1
start adb shell am start -n mypackage2/.MainActivity
答
您可以使用设备本身上运行sleep
命令:
adb shell "am start -W -n mypackage1/.MainActivity; sleep 10; am force-stop mypackage1"
adb shell "am start -W -n mypackage2/.MainActivity"
看来,应用程序,你正在试图起动/停止不设计正确。在这种情况下,请执行:
adb shell "(sleep 10; am force-stop mypackage1) & am start -n mypackage1/.MainActivity"
adb shell "am start -n mypackage2/.MainActivity"
+0
你能告诉我什么-W是为了什么?该方案无限期地等待。 “睡眠10”永远不会执行。 –
我从Windows 10运行它。尝试'超时10'而不是'睡眠10'。但它仍然不起作用。除非第一个完成,否则'timeout 10'不会执行。 –
你开始意图后是否尝试过超时?即流程应该启动包,暂停一段时间,杀死启动的包,启动另一个包。 –
是的,我试过你的脚本,只是改变了'睡眠10'。问题是命令窗口在执行'timeout 10'之前等待第一个进程结束。所以它永远等待。 –