Android:PowerManager类 电源管理
PowerManager类用于对设备电源状态进行管理;PowerManager.WakeLock类用于保持设备常亮;Android中通过各种Lock锁对电源进行控制,需要注意的是加锁和解锁必须成对出现。
使用Activity的生命周期,以调用保持屏幕常亮和释放屏幕常亮动作。
/**
* <功能描述> 保持屏幕常亮
*
* @return void [返回类型说明]
*/
private void keepScreenWake() {
// 获取WakeLock锁,保持屏幕常亮
mPowerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
mPowerManager.wakeUp(SystemClock.uptimeMillis());
mWakeLock = mPowerManager.newWakeLock(PowerManager.FULL_WAKE_LOCK, this
.getClass().getCanonicalName());
mWakeLock.acquire();
}
相应的,需要在Activity的onDestory()中释放屏幕常亮操作。
/**
* <功能描述> 释放WakeLock
*
* @return void [返回类型说明]
*/
private void releaseWakeLock() {
if (mWakeLock != null && mWakeLock.isHeld()) {
mWakeLock.release();
mWakeLock = null;
}
}
关于各种Flag的说明,这些Flag主要对CPU、屏幕和键盘造成影响:
PARTIAL_WAKE_LOCK:保持CPU运转,屏幕和键盘灯有可能是关闭的;
SCREEN_DIM_WAKE_LOCK:保持CPU运转,运行保持屏幕显示但有可能是灰色的,运行关闭键盘灯;
SCREEN_BRIGHT_WAKE_LOCK:保持CPU运转,运行保持屏幕高亮显示,运行关闭键盘灯;
FULL_WAKE_LOCK:保持CPU运转,保持屏幕高亮显示,键盘灯也保持高亮;
对上述电源管理的设置,需要获取系统的相关权限:
<uses-permission android:name="android.permission.DEVICE_POWER" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
Android:PowerManager类 电源管理的更多相关文章
- android wake lock 电源管理简单学习
需要配置清单文件:<uses-permission android:name="android.permission.WAKE_LOCK" /> 也可以参考我之前写的这 ...
- 以快板之名说Android 应用程序电源管理
当里个当,当里个当.Android开发UE(用户体验)为导向,首要任务便是省电量. 当里个当,当里个当.有一设备立足于墙边,这个设备唤固定电话.你的app造成这样,用户很快把你弃墙角.你咆哮耗电奈何与 ...
- exynos 4412 电源管理芯片PMIC 的配置及使用方法
/** ****************************************************************************** * @author Maox ...
- 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 -- PowerManager和PowerManager.WakeLock
PowerManager.WakeLock PowerManager.WakerLock是我 ...
- linux驱动程序之电源管理之标准linux休眠与唤醒机制分析(一)
1. Based on linux2.6.32, only for mem(SDR) 2. 有兴趣请先参考阅读: 电源管理方案APM和ACPI比较.doc Linux系统的休眠与唤醒简介.doc 3 ...
- Linux电源管理(7)_Wakeup events framework【转】
转自:http://www.wowotech.net/pm_subsystem/wakeup_events_framework.html 1. 前言 本文继续“Linux电源管理(6)_Generi ...
随机推荐
- Allegro PCB Design GXL (legacy) 手动更改元器件引脚的网络
Allegro PCB Design GXL (legacy) version 16.6-2015 1.菜单:Setup > User Preferences... 2.User Prefere ...
- MS-DOS运行java工程
D:\SourceCode\mailProxy\out\production\examples>java -classpath .;org\roger\stud y\mailClient;D:\ ...
- 四.idea本地调试hadoop程序
目录: 目录见文章1 1.先上案例代码 WordCount.java: import java.io.IOException; import java.util.StringTokenizer; im ...
- 页面布局之--Font Awesome+导航
页面布局之--Font Awesome+导航 Font Awesome为您提供可缩放的矢量图标,您可以使用CSS所提供的所有特性对它们进行更改,包括:大小.颜色.阴影或者其它任何支持的效果. 下载地址 ...
- Oracle数据重复,只取一条
--方法一 select * from tb_supply where rowid=any(select max(rowid) from tb_supply group by phone_id) -- ...
- fcagte.exe应用程序错误
原文:What is Fcagte.exe and How To Fix It? Overview of Fcagte.exe What Is Fcagte.exe? Fcagte.exe is a ...
- Encountered IOException running import job: org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory hdfs://slaver1:9000/user/hadoop/tb_user already exists
1.当时初学Sqoop的时候,mysql导入到hdfs导入命令执行以后,在hdfs上面没有找到对应的数据,今天根据这个bug,顺便解决这个问题吧,之前写的http://www.cnblogs.com/ ...
- linux系统(CentOS7)虚拟机上安装oracle 11g,解决oracle图形界面卡住无法点击next问题
https://www.cnblogs.com/nichoc/p/6416475.html
- 源码编译安装net-snmp
https://blog.csdn.net/u013992330/article/details/79712405 https://wenku.baidu.com/view/24368a2257125 ...
- SpringBank 开发日志 使用maven构建dubbo服务的可执行jar包
写这篇日志的时候,我已经完成了这个目标,并且中间经历了一次面试.现在回过头看,已经觉得印象不那么深刻了,果然还是一边思考,一边记录这样最好.但我还是严格要求自己,从新做了梳理,对相关配置进行了整理和说 ...