有些场景需要程序自动点亮屏幕,解开屏幕锁,以方便用户即时操作,下面用代码来实现这一功能:

  1. 1.//得到键盘锁管理器对象
  2. 2.KeyguardManager  km= (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);
  3. 3.//参数是LogCat里用的Tag
  4. 4.KeyguardLock kl = km.newKeyguardLock("unLock");
  5. 5.//解锁
  6. 6.kl.disableKeyguard();
  7. 7.
  8. 8.//获取电源管理器对象
  9. 9.PowerManager pm=(PowerManager) getSystemService(Context.POWER_SERVICE);
  10. 10.//获取PowerManager.WakeLock对象,后面的参数|表示同时传入两个值,最后的是LogCat里用的Tag
  11. 11.PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.SCREEN_DIM_WAKE_LOCK, "bright");
  12. 12.//点亮屏幕
  13. 13.wl.acquire();
  14. 14.//释放
  15. 15.wl.release();

需要在AndroidManifest.xml添加权限:

  1. <uses-permission android:name="android.permission.WAKE_LOCK" />
  2. <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />

flags参数说明:

  1. PARTIAL_WAKE_LOCK: Screen off, keyboard light off
  2. SCREEN_DIM_WAKE_LOCK: screen dim, keyboard light off
  3. SCREEN_BRIGHT_WAKE_LOCK: screen bright, keyboard light off
  4. FULL_WAKE_LOCK: screen bright, keyboard bright

ACQUIRE_CAUSES_WAKEUP:Normal wake locks don't actually turn on the illumination. Instead, they cause the illumination to remain on once it turns on (e.g. from user activity). This flag will force the screen and/or keyboard to turn on immediately, when the WakeLock is acquired. A typical use would be for notifications which are important for the user to see immediately.

ON_AFTER_RELEASE:f this flag is set, the user activity timer will be reset when the WakeLock is released, causing the illumination to remain on a bit longer. This can be used to reduce flicker if you are cycling between wake lock conditions.

2、保持屏幕唤醒
use the window flag FLAG_KEEP_SCREEN_ON把下面的代码加入到程序onCreate方法中

  1. @Override
  2. protected void onCreate(Bundle icicle) {
  3. super.onCreate(icicle);
  4. // Set keep screen on
  5. getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
  6. }

转载于:https://blog.51cto.com/whatandroid/1112478

Android屏幕解锁和点亮相关推荐

  1. 计算Android屏幕解锁组合数

    计算Android屏幕解锁组合数 晚饭时和同事聊到安卓屏幕解锁时会有多少种解锁方案,觉得很有趣,吃完饭开始想办法解题,花了大概2个小时解决.思路如下: 使用索引值0-9表示从左到右.从上到下的9个点, ...

  2. Android屏幕解锁图案破解

    标 题: [原创]Android屏幕解锁图案破解 作 者: gamehacker 时 间: 2013-03-27,14:29:58 链 接: http://bbs.pediy.com/showthre ...

  3. 【移动安全实战篇】————5、Android屏幕解锁图案破解

    Android手机上有一个屏幕解锁的应用相信大家都不陌生,在 Android 设备上,用户可以通过设置锁定图案作为密码对设备用户界面进行锁定,锁定界面如下图所示. 一般的Android手机的锁定界面由 ...

  4. android屏幕解锁新解

    最近因为一些事接触到android屏幕解锁这块,刚开始查询网上资料,绝大部分以keyguardLock 来进行获取屏幕锁和接触屏幕锁,其思路如下: // KeyguardManager keyguar ...

  5. Android监控屏幕解锁和点亮

    Android提供了广播,来监听屏幕解锁和屏幕点亮的事件,我们可以根据监听来进行我们自己想要的操作. 步骤一:新建一个ScreenOnReceiver.java文件继承BroadcastReceive ...

  6. android屏幕解锁新思路

    最近接了个私活,涉及到屏幕解锁,由于从来没接触过这块方面的知识,网上找了很多相关的内容,基本上都是以 private PowerManager.WakeLock wl; private Keyguar ...

  7. android屏幕解锁图案,安卓手机图案屏幕锁解锁方法!!

    当你的安卓手机密码锁忘记了怎么办?今天一不小心把手机改了图案锁结果由于改的时候匆忙结果忘记了,在网上找了好多方法都无果,也有人说重新刷机就会好!!这个简直就是废话,刷机当然能好了!! 关键是解锁要解决 ...

  8. 仿写Android屏幕解锁小应用

    近日需要设置密码并加密,因此仿写了Android的位置和安全设置有更改屏幕锁定的设置.先看效果图: 点击后,第一次是可设置密码. 设置成功密码后再点Button按钮将会出现: 由于时间紧,因此只研究了 ...

  9. android 自动亮屏解锁,android 点亮手机屏幕与屏幕解锁方法

    android 点亮手机屏幕与屏幕解锁方法 点亮手机屏幕 1.记得加权限 [html] PowerManager pm = (PowerManager)getSystemService(POWER_S ...

最新文章

  1. c++中利用sizeof运算符计算结构体大小问题探讨
  2. UVA11825 Hackers' Crackdown
  3. Android 捕获异常,上报异常日志,捕获奔溃日志,bugly使用实例
  4. MySql 优化的 30 条建议
  5. cisco packet tracer实验案例-重置路由器ENABLE特权密码
  6. 到底什么才是用户体验度
  7. java中的设计模式
  8. list 查找_趣味图解算法之二分查找
  9. AD9的PCB技巧——CAD的导入
  10. 数学建模与数学实验P48第2题解答
  11. 怎么批量遮挡视频素材上的平台水印
  12. mac mysql docker_Mac上使用Docker如何快速启动MySQL测试
  13. 新视野大学英语(1)课本单词汇总
  14. android 执行bin文件是什么意思,将可执行文件复制到android中的system / bin
  15. linux 设置用户有效天数,Linux用户管理:设置用户口令的使用期限
  16. 腾讯地图标记点击事件
  17. TCM和CACHE简述
  18. 使用视频作为网页背景的写法
  19. php音频上传失败,flash导入音乐失败怎么办
  20. ps界面为啥突然变大了_5个一劳永逸的Ps设置,让Ps用起来更轻松

热门文章

  1. linux之yum下载rpm包离线安装
  2. Java线程池ExecutorService中重要的方法
  3. Linux的企业-Codis 3集群搭建详解
  4. 美国Vitamix亮相2017上海AWE,绽放百年料理机品牌魅力
  5. 每天一个linux命令(59):rcp命令
  6. 基于Jenkins 快速搭建持续集成环境
  7. 数据结构 实践项目——数据结构、算法、程序设计
  8. mongodb记录存储管理
  9. 101个微软提供的Visual Studio 2005示例
  10. socket编程(三)