4

我有一个问题,我已经通过monkeyrunner.
我怎样才能关闭其中之一?
我尝试使用device.stopActivity(package/activity),但 monkeyrunner 没有这些命令。
而且我想收到所有的工作活动我怎么能做到这一点?

4

2 回答 2

7

据我所知,Android 自己管理活动。但是有一种方法可以通过 kill 命令停止活动。使用 python 脚本来执行此操作:

首先,模拟home键的触摸:

device.press('KEYCODE_HOME', MonkeyDevice.DOWN_AND_UP)

然后使用 ps 命令列出打开的进程:

processes = str(device.shell('ps'))

然后查看 processes 变量以查看您的包是否仍然存在。如果它在那里,找到包含包的行并检索它的 PID。然后使用 PID 杀死进程:

if package in processes:
    for line in processes.splitlines():
        if package in line:
            pid = line.split()[1]
device.shell('kill ' + pid)

稍后编辑:我找到了另一种可以关闭/停止包的方法:

device.shell('am force-stop package')

am force-stop 命令只需要包名作为参数。它关闭相应的包。

于 2012-09-07T08:41:32.813 回答
0

嗨,更好的选择是停止该过程

device.press('KEYCODE_HOME', MonkeyDevice.DOWN_AND_UP)
kill_command = 'am force-stop %s' % package_name
device.shell(kill_command)
于 2014-12-19T19:25:43.903 回答