Android点亮屏幕

原文地址:Android点亮屏幕 作者:1024837348
本文仅在Android4.0测试过,其余平台未知是否可行。
最近在写一个应用,想实现类似闹钟提醒界面,在网上找了关于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();
                //点亮屏幕
 
                KeyguardManager  km= (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);
                //得到键盘锁管理器对象
                KeyguardLock kl = km.newKeyguardLock("unLock");  
                //参数是LogCat里用的Tag
                kl.disableKeyguard(); 
                //解锁
 
                
 
                kl.reenableKeyguard();
                //重新启用自动加锁
                wl.release();
                //释放
PowerManager需要的权限
<uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
代码摘自 http://www.pocketdigi.com/20110713/386.html

但是把这些代码打进去后发现Android已经不推荐用KeyguardLock,Android api推荐调用Activity的addFlags方法设置WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED属性,这种方法好处有:不需要其他权限,二,当你应用程序所有Activity finish后,不需要重新启动自动加锁。
最后Android 点亮屏幕最重要一点:PowerManager.WakeLock使用完成后,必须release()。


你可能感兴趣的:(Android点亮屏幕)