5

home buttonアプリの実行時にAndroid デバイスを無効にしたい。

次のコードを試しましたが、役に立ちません:

@Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if ((keyCode == KeyEvent.KEYCODE_HOME)) {
            Toast.makeText(this, "You pressed the home button!",
                    Toast.LENGTH_LONG).show();
            return false;
        }
        return super.onKeyDown(keyCode, event);
    }

     @Override
     protected void onNewIntent(Intent intent) {
     super.onNewIntent(intent);
     if (Intent.ACTION_MAIN.equals(intent.getAction())) {
     Log.i("MyLauncher", "onNewIntent: HOME Key");

     }
     }
4

4 に答える 4

8

Android-HomeKey-Lockerを使用して、HOME KEY およびその他のシステム キー (BACK KEY や MENU KEY など) を無効にすることができます。

ノート

このソリューションは、ハード ホーム キーを備えたデバイスでのみ機能するようです

これがあなたのアプリケーションに役立つことを願っています。ありがとう。

于 2014-03-23T06:12:47.883 に答える
1

ホームボタンを無効にすることはできません。

アプリをホーム画面にしない限り、Android のホーム ボタンをインターセプトする方法はありません。これはセキュリティ上の理由によるもので、終了できるすべてのボタンを無効にして、悪意のあるアプリがデバイスを乗っ取ることができないようにします。

ホームボタンは、ホーム画面に移動する簡単な方法の 1 つです。

HOME ボタンを処理したい場合は、ホーム画面を実装します。

特定の Android デバイスでホーム ボタンを無効にできない

コモンズウェアによる回答を確認する

于 2013-06-19T06:06:06.510 に答える
1

以下の方法を使用して、Android のホーム キーを無効にすることができます。

@Override
public void onAttachedToWindow() {
    this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
    super.onAttachedToWindow();
}
于 2014-08-07T13:31:09.913 に答える