Android点亮屏幕


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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM