Monkeyrunner活动

时间:2012-09-06 12:06:23

标签: android monkeyrunner

我有一个问题,我已经通过monkeyrunner启动了2项活动 我该如何关闭其中一个?
我尝试使用device.stopActivity(package/activity),但monkeyrunner没有这些命令 而且我还想接受所有工作活动,我该怎么做?

2 个答案:

答案 0 :(得分:6)

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

首先,模拟主页按钮的触摸:

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命令只需要包名作为参数。它会关闭相应的包装。

答案 1 :(得分:0)

更好的选择是停止流程

device.press('KEYCODE_HOME', MonkeyDevice.DOWN_AND_UP)
kill_command = 'am force-stop %s' % package_name
device.shell(kill_command)