使用PowerManager.WakeLock来保证程序运行时保持手机屏幕的恒亮。

public class WakeLockDemo extends Activity {private PowerManager.WakeLock wakeLock = null;//获取锁public void acquireWakeLock(Context context) {if (wakeLock == null) {PowerManager powerManager = (PowerManager)(context.getSystemService(Context.POWER_SERVICE));wakeLock = powerManager.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "My Tag");wakeLock.acquire();}}//释放锁public void releaseWakeLock() {if(wakeLock != null && wakeLock.isHeld()){wakeLock.release();wakeLock = null;}}@Overridepublic void onCreate() {super.onCreate();//初始化
    }@Overridepublic void onResume() {acquireWakeLock(this);super.onResume();}@Overridepublic void onPause() {releaseWakeLock();super.onPause();}}

各种锁的类型对CPU 、屏幕、键盘的影响:

PARTIAL_WAKE_LOCK:       保持CPU 运转,屏幕和键盘灯可以关闭。

SCREEN_DIM_WAKE_LOCK:   保持CPU 运转,保持屏幕显示,但可以变暗,允许键盘灯关闭。

SCREEN_BRIGHT_WAKE_LOCK:保持CPU 运转,允许保持屏幕高亮显示,允许键盘灯关闭。

FULL_WAKE_LOCK:         保持CPU 运转,保持屏幕和键盘灯都高亮显示。

ACQUIRE_CAUSES_WAKEUP:  当获取锁后,立刻亮屏,典型地使用在通知中,以让用户立刻查看。

ON_AFTER_RELEASE:       在释放锁(release())后,手机屏幕仍会继续亮一会儿。\

权限获取

要进行电源的操作需要在AndroidManifest.xml中声明该应用有设置电源管理的权限。

<uses-permission android:name="android.permission.WAKE_LOCK" />
你可能还需要
<uses-permission android:name="android.permission.DEVICE_POWER" />

另外WakeLock的设置是 Activiy 级别的,不是针对整个Application应用的。

可以在activity的onResume方法里面操作WakeLock,  在onPause方法里面释放。

另外WakeLock的设置是 Activiy 级别的,不是针对整个Application应用的。

可以在activity的onResume方法里面操作WakeLock,  在onPause方法里面释放。

转: http://chenfeng0104.iteye.com/blog/1164675

转载于:https://www.cnblogs.com/622698abc/p/3222333.html

PowerManager.WakeLock使用(屏幕恒亮)相关推荐

  1. Android开发-屏幕常亮的方法

    方法一:xml文件中的顶层布局添加属性 在你需要常亮的Activity对应的布局文件中,给需要屏幕常亮的UI组件设置:android:keepScreenOn="true" 只要A ...

  2. Android 屏幕常亮、低电量监听

    Android保持屏幕常亮只需在manifest文件注册权限并使用PowerManager进行管理: <uses-permission android:name="android.pe ...

  3. Android屏幕常亮防息屏

    Android屏幕常亮防息屏 PowerManager 主要是用来控制电源状态的. 通过使用该类提供的api可以控制电池的待机时间 尽可能的使用最低级别的WakeLocks锁,并且确保使用完后释放它 ...

  4. 安卓app保持屏幕常亮

    亲测方法一有效 方法一:持有WakeLock 首先获取WakeLock相关权限: <uses-permission android:name="android.permission.W ...

  5. Android保持屏幕常亮的两种方法

    保持屏幕常亮的两种方法: 我们大家在用手机的时候,会遇到这样的一个问题,就是想让我们的手机屏幕一直亮着怎么办.大家会想到的是,在手机设置里有一个不省电模式,选择这个就可以了,但是我们要在代码中是怎么样 ...

  6. Android屏幕常亮

    最简单 布局文件任一可见View设置属性android:keepScreenOn="true":关闭时只需把true改为false即可. 在Activity的onCreate()中 ...

  7. Android 之 设置屏幕常亮

    转自:http://blog.csdn.net/feimor/article/details/6678207 保持屏幕常亮的两种方法: 我们大家在用手机的时候,会遇到这样的一个问题,就是想让我们的手机 ...

  8. Android-WakeLock(唤醒锁与CPU休眠/屏幕常亮)

    参考: https://blog.csdn.net/wh_19910525/article/details/8287202 http://landerlyoung.github.io/blog/201 ...

  9. android 保持唤醒状态,Android保持屏幕常亮唤醒状态的方法

    本文实例讲述了Android保持屏幕常亮唤醒状态的方法.分享给大家供大家参考,具体如下: 第一步: 首先添加权限: 复制代码 代码如下: 第二步:代码实现如下: public class Screen ...

最新文章

  1. calendar 获取季度的第一天_Java日期查询:日、周、旬、月、季度、年等时间操作...
  2. JavaScript - JavaScript自定义弹出对话框
  3. Docker中的网络问题
  4. [公告]网站恢复正常运行
  5. 基于springboot+vue的前后端分离商城系统
  6. Python魔术世界 1 如何使用Visual Studio在WIN10中一键安装Python3入门编程环境并测试Django...
  7. 如何在本地设置www.xxx.com,使其允许访问
  8. ArcGIS+Sql Server发布要素服务
  9. python——字典攻击
  10. AD18原理图绘制步骤
  11. 微信小程序 请求返回:data format error hint
  12. 云顶之弈服务器维护多长时间,英雄联盟3.17更新维护时间介绍 云顶之弈什么时候可以玩_18183云顶之弈专区...
  13. 金融衍生物英语名词的对应中文解析
  14. Scratch(三十八):八大行星
  15. iOS展示超大图片或超高分辨率图片崩溃解决方法
  16. SLAM在机器人中的应用
  17. sap采购申请自动转采购订单
  18. 实例:用C#.NET手把手教你做微信公众号开发(12)--带参数二维码裂变推广
  19. hdu2198 How many elements you must throw out? C语言动态规划题
  20. ISO Country Code - 标准国家码

热门文章

  1. java lambda教程_Lambda系列教材 (一)- Java Lambda 表达式教程
  2. 20191020:(leetcode系习题)检测大写字母
  3. 20190828:(leetcode习题)回文链表
  4. webview session不失效_不懂HttpSession对象看这里--乐字节
  5. python切片表达式3个参数_Python:Base3(函数,切片,迭代,列表生成式)
  6. gensim提取一个句子的关键词_NLP(五):关键词提取补充(语料库和向量空间)...
  7. clickhouse 的mysql表引擎
  8. spark阶段和任务小结
  9. 智能一代云平台(四十):Maven项目如何将lib下依赖的包打印在manifest文件中
  10. AI如何变革家居软装?拍图就能搜商品,深度学习平台飞桨新玩法