Android PowerManager电源管理(Android N )
./frameworks/base/core/java/android/os/PowerManager.java该类提供给Application访问电源相关接口。
它的内部类WakeLock是定义的唤醒锁类,除非你确实需要PowerManager.WakeLock否则不要轻易使用它们,并尽量使用低等级功能,并确保在你不使用它们的时候立即释放PowerManager.WakeLock。
你可以通过使用Context.getSystemService来获取这个类的实例。
你会使用到的最主要API就是newWakeLock()。这个方法会实例化一个PowerManager.WakeLock实例,你可以用WakeLock的方法去控制设备的电量状态。
实际使用十分简单:
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "My Tag");
wl.acquire();
..screen will stay on during this section..
wl.release();
下面是该类的四个功能等级,覆盖了对系统电源的所有影响。这些功能都是互斥的,你只能使用它们中某个。
| 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 |
如果你使用的是PARTIAL_WAKE_LOCK的锁,CPU会一直保持运行状态,哪怕屏幕展示时间超时甚至用户手动点击电源按钮锁屏也无法改变CPU运行状态。而在其他三个状态的锁下,CPU虽然会运行,但当用户使用电源按钮时,CPU还是会陷入休眠状态。
注意:在Android N上上表中3个黄色标记的flag已经弃用。被android.view.WindowManager.LayoutParams#FLAG_KEEP_SCREEN_ON所代替。
方法public boolean isScreenOn()被 isInteractive()替代。当屏幕点亮时发送广播android.content.Intent#ACTION_SCREEN_ON,灭屏时发送android.content.Intent#ACTION_SCREEN_OFF
Android PowerManager电源管理(Android N )的更多相关文章
- Android的电源管理框架
Android的电源管理框架 Android通过锁和定时器来切换系统的状态,使系统的功耗降至最低,整个系统的电源管理框架分成五个部分:应用层,framework层,JNI层,HAL层和内核层.电源管理 ...
- Android应用权限管理总结
访问登记属性 android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限 获取错略位置 android.permi ...
- Android笔记(七十三) Android权限问题整理 非常全面
Android权限系统非常庞大,我们在Android系统中做任何操作都需要首先获取Android系统权限,本文记录了所有的Android权限问题,整理一下分享给大家. 访问登记属性 android.p ...
- Android开发工具资料Android Manifest 权限描述大全 随时随地查询权限描述。
作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985转载请说明出处. 在文章最后面赠送了markdown格式的此文章内容下载.(不要再问问什么用markdo ...
- Android:PowerManager类 电源管理
PowerManager类用于对设备电源状态进行管理:PowerManager.WakeLock类用于保持设备常亮:Android中通过各种Lock锁对电源进行控制,需要注意的是加锁和解锁必须成对出现 ...
- Android电源管理-休眠简要分析
一.开篇 1.Linux 描述的电源状态 - On(on) S0 - Working - Standb ...
- Android 电源管理 -- wakelock机制
转载地址:http://blog.csdn.net/wh_19910525/article/details/8287202 Wake Lock是一种锁的机制, 只要有人拿着这个锁,系统就无法进入休眠, ...
- Android电源管理基础知识整理
前言 待机.睡眠与休眠的区别? Android开发者官网当中提到"idle states",该如何理解,这个状态会对设备及我们的程序造成何种影响? 进入Doze模式中的idle状态 ...
- android wake lock 电源管理简单学习
需要配置清单文件:<uses-permission android:name="android.permission.WAKE_LOCK" /> 也可以参考我之前写的这 ...
随机推荐
- Ueditor使用以及遇到的问题
原来用的是Kindeditor这个编辑器,但很久没更新了,最新版是13年更新的.现在要换成百度的Ueditor, 在这里记录Ueditor的使用流程和遇到的问题. 一.下载 1.Ueditor官网 这 ...
- EntityFramework Core问题处理集锦(一)
前言 和大家脱离了一段时间,有时候总想着时间挤挤总是会有的,但是并非人愿,后面会借助周末的时间来打理博客,如有问题可以在周末私信我或者加我QQ皆可,欢迎和大家一起探讨,本节我们来讨论EF Core中的 ...
- 关于Spring Data JPA更新部分字段的问题
1.问题背景 个人比较喜欢Spring data JPA,这次的问题是在实体类中使用List类型作为字段,JPA也提供了操作的方法,即使用@ElementCollection注解,网上对于JPA的知识 ...
- Python从菜鸟到高手(8):print函数、赋值与代码块
1.神奇的print函数 print函数相信读者一定对它不陌生,因为在前面的章节,几乎每个例子都使用了print函数,这个函数的功能就是在控制台输出文本.不过print在输出文本时还可以进行一些设 ...
- 跨域访问-需要设置HTTP响应标头
前提:服务端网站的配置(被请求的网站) 1.需要在IIS服务器站点的功能视图中设置HTTP响应标头: 2.双击“HTTP响应标头”进入设置界面 3.点击右侧添加按钮弹出窗口 4.填入需要设置的信息 名 ...
- 每秒高达1.6亿次操作的并发键值存储库 FASTER 诞生
FASTER 在过去十年中,云中的数据密集型应用程序和服务有了巨大的增长.数据在各种边设施(例如,设备,浏览器和服务器)上创建,并由云应用程序处理用来获得数据价值或做出决策.应用程序和服务可以处理收集 ...
- LeetCode 657. Robot Return to Origin
There is a robot starting at position (0, 0), the origin, on a 2D plane. Given a sequence of its mov ...
- poj2449 第k短路
题目链接 学习博客:https://blog.csdn.net/Z_Mendez/article/details/47057461 k短路没有我想象的那么难,还是很容易理解的 求s点到t点的第k短路径 ...
- openstack-KVM-存储配置
一.块存储设备 1.存储设备类型 IDE SCSI 软盘 U盘 virtio磁盘(KVM使用类型) 2.查看存储设备 lspci | grep IDE lspci | grep SCSI lspci ...
- 学习memcache
本文参考了菜鸟教程中的内容. 安装 安装memcache的时候,请切换为root用户 root@centos # wget http://www.memcached.org/files/memcach ...