1

Android でアプリケーションを開発しています。次のコードを使用して、戻るボタンの KeyEvent を処理します。

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if ((keyCode == KeyEvent.KEYCODE_BACK)) 
    {           
        finish();
    }

    return super.onKeyDown(keyCode, event);
}

ホームボタンでこれを行うにはどうすればよいですか?

4

4 に答える 4

2

ホームキーの動作を制御することはできません。ホーム キーのイベントは取得されませんが、無効にすることはできますが、これを行わないことを強くお勧めします。ホーム キーをブロックする前に、この投稿を参照してください。

ただし、次のようにホームキーをブロックできます。

@Override
public void onAttachedToWindow() {
    this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
    super.onAttachedToWindow();
}
于 2011-10-11T06:57:57.893 に答える
1

この質問が示唆するように: Android Overriding home keyこれは残念ながら不可能です。おそらく、目的の動作を実装する他の方法がありますか?

于 2011-10-11T06:34:35.963 に答える
1

明らかな答えは - アクティビティの onPause() メソッドでホームキーの押下を処理することです。このコールバックは、ユーザーがホーム キーを押したときに呼び出されます。保証します。ホームキーはあなたのためではなく、OSとユーザーのためのものです。

于 2011-10-11T07:02:31.580 に答える
0

これらを読んでください:

ホームボタンのオーバーライド - 選択肢をなくすにはどうすればよいですか?

Android - ホームボタンが押されたことをキャッチする方法は?

ホームボタンは、1 つのことだけを一貫して実行する必要があります。ユーザーをホーム画面に戻します。その動作をオーバーライドできたとしても、それは非常にユーザーフレンドリーなことではありません。だから、それをしないで、別の方法で問題を解決してください! 強いテキスト

于 2011-10-11T07:23:30.787 に答える