1

このキーが長押しでのみディスパッチされるのはなぜですか。電源ボタンを通常に押すと、リンガーストリームで現在再生中のオーディオがミュートされるようにしようとしています。長押しでのみ機能し、通常の押しで画面がオフになります。通常の印刷機で作業するために必要です。

@Override
public boolean dispatchKeyEvent(KeyEvent event) {

        switch (event.getKeyCode()) {
        case KeyEvent.KEYCODE_POWER:
            if (ringer == null)
                return super.dispatchKeyEvent(event);

            if (!mute)
                if (ringer.isRinging())
                    ringer.stopRing();
                else if (!ringer.isRinging())
                    ringer.ring();

            mute = !mute;
            return true;
        }
return super.dispatchKeyEvent(event);

}

4

2 に答える 2

1

POWER ボタンが押されたことをキャプチャするには、それ以上の時間がかかります。

これは Google が意図的に行っているため、悪意のあるアプリケーションがユーザーの入力を妨げ、ハードウェア ボタンをブロックすることでデバイスを乗っ取ることができません。その上、POWER ボタンを無効にするのは、非常に正当な理由がある場合にのみ行う必要があります。

その方法を知りたい場合は、この質問にアクセスして最も評価の高い回答を確認してください。

PS。次回も検索。

于 2012-09-10T14:35:01.690 に答える