2012-09-06 71 views
3

我有一個問題,我已經通過monkeyrunner開始了2項活動。
我如何關閉其中之一?我嘗試使用device.stopActivity(package/activity),但monkeyrunner沒有這些命令。
而且我想接受所有的工作活動,我怎麼能做到這一點?Monkeyrunner活動

回答

6

據我所知,Android自己管理這些活動。但有一種方法可以通過kill命令停止活動。使用python腳本來做到這一點:

首先,模擬home鍵的觸摸:

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

然後使用ps命令列出的開放進程:

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

然後再照進程變量,看看你的包是否仍然存在。如果它在那裏,找到包含該包的行並檢索它的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') 

的上午強行停止命令需要軟件包名稱僅作爲參數。它關閉了相應的軟件包。

0

嗨更好的選擇是停止進程

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