1

説明できない Android の非常に興味深い動作に気付きました。次のコードを使用して電話をウェイクアップし、キーガードを無効にしています。

        PowerManager.WakeLock mFullWakelock = mPowerManager.newWakeLock(
                (PowerManager.SCREEN_BRIGHT_WAKE_LOCK |
                        PowerManager.FULL_WAKE_LOCK |
                        PowerManager.ACQUIRE_CAUSES_WAKEUP),
                LOCK_TAG
        );

        mFullWakelock.acquire();

        KeyguardManager keyguardManager = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);
        KeyguardManager.KeyguardLock keyguardLock = keyguardManager.newKeyguardLock(LOCK_TAG);

        keyguardLock.disableKeyguard();

ウェイク(プログラムによる)->キーガードの無効化(プログラムによる)->電源ボタンの押下(手動)->ウェイク->キーガードの無効化のサイクルがあると想像してください。電話のキーガードが無効になっているときにホームボタンを手動で押すまで、サイクルはうまく機能します。その後、電話は起動しますが、キーガードはプログラムで無効になりません。アイデアをいただければ幸いです。

4

2 に答える 2