Android解スクリーンロックと点灯スクリーン(着信時効果)
Android携帯電話(すべての携帯電話がそうであるべき)がメールや電話を受け取ると、自動的に画面を点灯させ、画面のロックを解除してユーザーの即時操作を容易にします.以下はコードでこの機能を実現します.
PowerManager pm=(PowerManager) getSystemService(Context.POWER_SERVICE);
//
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.SCREEN_DIM_WAKE_LOCK, "bright");
// PowerManager.WakeLock , | , LogCat Tag
wl.acquire();
//
wl.release();
//
KeyguardManager km= (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);
//
KeyguardLock kl = km.newKeyguardLock("unLock");
// LogCat Tag
kl.disableKeyguard();
//
AndroidManifestでxml の :<uses-permissionandroid:name="android.permission.WAKE_LOCK"/>
<uses-permissionandroid:name="android.permission.DISABLE_KEYGUARD"/>
なプログラムでは、 のコードを コピーしないでください. コピーは です(スクリーンフラッシュ). のキーボードロック 、スクリーンロックもオフになり、タイムアウト ロックはないので、 なプログラムでは、すべてのコードを した 、 ロックを して(さもないとスクリーンがずっと いていて、 がかかります)、wlを します.release()wlを しない .release()は、 がずっと るくなります. なコードは のようになります.PowerManager pm=(PowerManager) getSystemService(Context.POWER_SERVICE);
//
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.SCREEN_DIM_WAKE_LOCK, "bright");
// PowerManager.WakeLock , | , LogCat Tag
wl.acquire();
//
KeyguardManager km= (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);
//
KeyguardLock kl = km.newKeyguardLock("unLock");
// LogCat Tag
kl.disableKeyguard();
//
/*
*
*
* */
kl.reenableKeyguard();
//
wl.release();
//