2012-09-06 2 views
3

나는 하나의 문제가 있는데, 나는 monkeyrunner을 통해 2 가지 활동을 시작했다.
어떻게 그 중 하나를 닫을 수 있습니까?
device.stopActivity(package/activity)을 사용하려고했지만 monkeyrunner는 이러한 명령을 사용하지 않았습니다.
그리고 나는 내가 할 수있는 일하는 모든 활동을 받고 싶다.Monkeyrunner activity

답변

6

필자가 아는 한 Android는 자체적으로 활동을 관리합니다. 그러나 kill 명령을 통해 활동을 중지 할 수있는 방법이 있습니다. 이 작업을 수행하는 파이썬 스크립트를 사용하여 다음에서 볼

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

:

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

가 열기 프로세스를 나열 ps 명령을 사용

먼저, 홈 버튼의 터치를 시뮬레이션 꾸러미가 있는지 확인하기위한 변수는 아직 거기에 있습니다. 거기에 있다면, 패키지가 들어있는 줄을 찾아 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 강제 정지 명령이 필요 그런 다음 프로세스를 종료하기 위해 PID를 사용 패키지 이름은 인수로만 사용하십시오. 해당 패키지를 닫습니다.

0

안녕 더 나은 옵션은 프로세스

device.press('KEYCODE_HOME', MonkeyDevice.DOWN_AND_UP) 
kill_command = 'am force-stop %s' % package_name 
device.shell(kill_command) 
을 중지하는 것입니다