0

次のようにホームボタンをオーバーライドします。

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) {
    switch (keyCode) {
    case KeyEvent.KEYCODE_HOME: 
        System.out.println("hello");
        break;
    }
    return super.onKeyDown(keyCode, event);
}


@Override
public void onAttachedToWindow() {
    this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
    super.onAttachedToWindow();
}

私は次のような検索インターフェースも作成します: http://www.edumobile.org/android/android-programming-tutorials/search-interface/

ハードウェアの検索ボタンをクリックすると、検索インターフェイスが表示されます。しかし、同時にホームボタンをクリックすると、ホームボタンのオーバーライドされたメソッドが呼び出されず、電話のメイン画面に戻ります。どうすれば修正できますか?

4

1 に答える 1

2

ホームボタンの押下をキャッチできません。詳細については、SO に関するこの質問を参照してください。要するに、これはシステムキーです。アプリケーションがユーザーがキーを終了できないようにするため、アプリケーションはそれを単独で処理できません。

于 2012-05-13T21:56:22.640 に答える