android 开发入门之 ------- 屏幕灯、键盘锁

 

  手机应用开发,经常会需要让手机屏幕保持常亮,或是在屏幕锁上的时候,解除锁定。
android 系统(当然我开发的android系统版本是4.0) 通过上下文也有翻译为内容,获取Window对象,之后就可以对当前屏幕进行参数设定了。

屏幕灯的管理,需要用到PowerManager对象,通过系统服务获取该对象。而具体操作需要android.os.PowerManager.WakeLock对象进行操作,

具体看实例。执行完毕,需要释放操作对象的资源。附上newWakeLock获取操作对象的参数解释表格。

Flag ValueCPUScreenKeyboard
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();
View Code

对于参数的解释,建议看官方的API文档,解释的比较权威。

使用的时候还需要在manifest.xml配置文件中添加权限:

1  <uses-permission android:name="android.permission.WAKE_LOCK"/>   <!--屏幕灯操作权限-->
 2 <uses-permission android:name="android.permission.DISABLE_KEYGUARD" /> <!--解锁权限-->

 

 

参考资料:

       部分来源于互联网。感谢大家的分享!

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。