4

問題が 1 つあります。 経由で 2 つのアクティビティを開始しmonkeyrunnerました。
それらの1つを閉じるにはどうすればよいですか?
私は使用しようとしましdevice.stopActivity(package/activity)たが、monkeyrunner にはこれらのコマンドがありません。
また、すべての作業活動を受け取りたいのですが、どうすればそれを行うことができますか?

4

2 に答える 2

7

私の知る限り、Android は独自にアクティビティを管理しています。ただし、kill コマンドを使用してアクティビティを停止する方法があります。これを行うには、Python スクリプトを使用します。

まず、ホーム ボタンのタッチをシミュレートします。

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')

am force-stop コマンドは、引数としてのみパッケージ名を必要とします。それぞれのパッケージを閉じます。

于 2012-09-07T08:41:32.813 に答える