皆様ご存知だと思います。
1 2 | KeyEvent event = new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_0); dispatchKeyEvent(event); |
これでできます。
KeyEvent() の1つ目の引数を KeyEvent.ACTION_DOWN にしている
人もいると思いますが、私はUPのときに発行させたいのでこうしています。
さて、通常のキーイベント発行ならこれで良いのですが、
特殊なキーの場合はこの方法がGoogleに許されていない
ものがあります。
BACKキーの発行
上記例の2つ目の引数を KeyEvent.KEYCODE_BACK にすればOKです。画面が前のActivityに戻ります。
自分(Activity)を finish() しても同じでしょうか。
HOMEボタンの発行
(キーコードとしては KeyEvent.KEYCODE_HOME が用意されていますが)HOMEボタンの発行は、dispatchKeyEvent() では発行できません。
公式情報はこちら。
is never delivered to application. と書かれていますね。
では、HOMEボタンのイベントを発行することは出来ないのか?
以下のように書けば実現できます。
1 2 3 | Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_HOME); startActivity(intent); |
何かのお役に立てたら幸いです。
SISYOU.KUM