スリープ状態を解除する(コードから解除する)
端末をスリープ状態から解除するコードの一例です
アラームやタイマーアプリの鳴動時に、ユーザーに知らせるために端末のスリープ状態を解除したい場合に有効です。
端末をスリープから解除する(画面の明かりを点ける)ための処理をサンプルメソッドのwakeFromSleep()にまとめているので、必要に応じて呼び出します。
private KeyguardManager keyguard; private KeyguardManager.KeyguardLock keylock; private PowerManager.WakeLock wakelock; private void wakeFromSleep() { wakelock = ((PowerManager) getSystemService(android.content.Context.POWER_SERVICE)) .newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.ON_AFTER_RELEASE, "disableLock"); wakelock.acquire(20000); keyguard = (KeyguardManager) getSystemService(android.content.Context.KEYGUARD_SERVICE); keylock = keyguard.newKeyguardLock("disableLock"); keylock.disableKeyguard(); }
wakelock.acquire(20000)は、画面がオンになってから20秒間操作がないと、画面を消灯します。
同時に、キーロックも解除していますので、セキュリティ上の問題を考慮して記述をお願いします。