1

ロック機能を備えたAndroidアプリを開発しています。プログラムですべてのハード キーを無効にする方法を教えてください。ここでは、以下のコードを使用して戻るボタンを無効にしています。ホーム、検索、カメラ、ショートカットキーなどのすべてのハードキーにこの機能が必要です。ここに私のコードがあります:

@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_SEARCH) {
        Log.d("KeyPress", "search");
        return true;
    }
    return false;
}
4

2 に答える 2

0

onKeyメソッドを次のように変更します。

@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
    return true;
}

onKeyメソッドからtrueを返す場合は、自分でキーを押したことを処理し、OSがデフォルトのアクションを実行できないことを意味します。コードでは、検索ボタンのみを処理していますが、すべての場合にtrueを返すと、すべてのボタンがブロックされます。

PSこれはソフトボタンでは機能しない可能性があります。これを参照してください

于 2012-12-01T11:02:49.363 に答える
-1

これを試してみてください、それはあなたの問題を解決するかもしれません:

@Override

    public boolean onKeyDown(int keyCode, KeyEvent event) {

        if ((keyCode == KeyEvent.KEYCODE_HOME)) {
            System.out.println("KEYCODE_HOME");
            return true;
        }
        if ((keyCode == KeyEvent.KEYCODE_BACK)) {
            System.out.println("KEYCODE_BACK");
            return true;
        }
        if ((keyCode == KeyEvent.KEYCODE_MENU)) {
            System.out.println("KEYCODE_MENU");
            return true;
        }
        return false;
    }
于 2015-11-13T12:21:57.040 に答える