5

Android デバイスのすべての物理ボタンをシミュレートしたいと考えています。

シミュレートする方法はありますか:

  • 戻るボタン
  • ホームボタン
  • メニューボタン
  • 検索ボタン
  • タスクボタン
  • ボリューム (+ および -) ボタン
4

7 に答える 7

17

KeyEvent を作成して公開します。

KeyEvent kdown = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK);
Activity.dispatchKeyEvent(kdown);
KeyEvent kup = new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_BACK);
Activity.dispatchKeyEvent(kup);
于 2012-12-14T09:56:48.700 に答える
0

次のキーのシミュレーション:

-BACK BUTTON : 現在のアクティビティで onBackPressed() をオーバーライドします。

-MENU BUTTON :ここと openOptionsMenu(), menuを参照してください。

このブログも見てください。

于 2012-12-15T05:17:32.520 に答える
0

などのアプリケーションの特定のコンポーネントをテストする場合は、のメソッドActivityを使用して、そこに任意のキーの組み合わせを渡すことができます。また、タップ、ドラッグ、クリックのアクションをシミュレートするために使用できますInstrumentationTestCasesendKeys()TouchUtils

于 2012-12-14T09:58:41.923 に答える
-1

onKeyListenerデバイスの物理ボタンをオーバーライドするために使用します。ドキュメントを参照してください。

KeyEventクラスには、デバイスの物理ボタンとスクリーン キーボードのすべての値があります。たとえばKeyEvent.KEYCODE_HOME、デバイスのホーム ボタンの代わりになります。

Googleで検索すると、KEYCODEイベントの例がたくさん見つかります

于 2012-12-14T10:07:47.340 に答える
-2

このアクティビティを試してください

public boolean onKeyDown(int keyCode, KeyEvent event)   
{
 if (keyCode == KeyEvent.KEYCODE_BACK)
 {

 }
 if (keyCode == KeyEvent.KEYCODE_HOME)
 {

 }
 if (keyCode == KeyEvent.KEYCODE_MENU)
 {

 }
 if (keyCode == KeyEvent.KEYCODE_VOLUME_UP)
 {

 }
 if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN)
 {

 }
}
于 2012-12-14T10:16:55.157 に答える