android 开发入门之 ------- 屏幕灯、键盘锁
手机应用开发,经常会需要让手机屏幕保持常亮,或是在屏幕锁上的时候,解除锁定。
android 系统(当然我开发的android系统版本是4.0) 通过上下文也有翻译为内容,获取Window对象,之后就可以对当前屏幕进行参数设定了。
屏幕灯的管理,需要用到PowerManager对象,通过系统服务获取该对象。而具体操作需要android.os.PowerManager.WakeLock对象进行操作,
具体看实例。执行完毕,需要释放操作对象的资源。附上newWakeLock获取操作对象的参数解释表格。
Flag Value | CPU | Screen | Keyboard |
---|---|---|---|
PARTIAL_WAKE_LOCK | On* | Off | Off |
SCREEN_DIM_WAKE_LOCK | On | Dim | Off |
SCREEN_BRIGHT_WAKE_LOCK | On | Bright | Off |
FULL_WAKE_LOCK | On | Bright |
Bright |
当然对于PowerManager进一步了解,还是要多看看官方文档才行。
实例代码:
1 // 解除键盘锁,保持屏幕灯常亮。设置在setContentView前有效。 2 getWindow().addFlags( 3 WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD 4 | WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED 5 | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 6 PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); 7 wl = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP 8 | PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "AlarmActivity"); 9 wl.acquire();
对于参数的解释,建议看官方的API文档,解释的比较权威。
使用的时候还需要在manifest.xml配置文件中添加权限:
1 <uses-permission android:name="android.permission.WAKE_LOCK"/> <!--屏幕灯操作权限-->
2 <uses-permission android:name="android.permission.DISABLE_KEYGUARD" /> <!--解锁权限-->
参考资料:
部分来源于互联网。感谢大家的分享!
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。