0

キー (バック pe) のイベントを起動したいが、キーを押さずに。onKeyDownまたはのような関数を見ましonKeyたが、これらの関数には対応するキー イベントが必要です。

また、次のKeyEventように初期化しようとします:

KeyEvent telo = new KeyEvent(0,0,0,4,0,0,0,158,72);
onKeyDown(KeyEvent.KEYCODE_BACK, telo);

downTimeeventTime、の値がわからないためか、機能していませんdeviceId

4

1 に答える 1

1

テスト目的でこれを実行しようとしている場合。Instrumentation APIを使用すると、重要なイベントを独自のアクティビティに送信できます。

具体的には:

Instrumentation.sendKeyDownUpSync(KeyEvent.KEYCODE_BACK);

あなたが探しているもののようです。

編集:

このスニペットは、バックキーイベントをアクティブウィンドウに送信します。sendKeyDownUpSync()メインスレッドからメソッドを呼び出すことはできないことに注意してください。

final Instrumentation i = new Instrumentation();
Thread t = new Thread(){
    public void run(){
      i.sendKeyDownUpSync(KeyEvent.KEYCODE_BACK);
    }
};
t.start();
于 2013-02-19T16:31:42.233 に答える