android中电源管理
来源:互联网 发布:centos没有桌面文件夹 编辑:程序博客网 时间:2024/04/30 09:27
其实试了半天也就弄明白了如何
1.不让屏幕黑
2.用距离传感器控制屏幕的变黑和变亮.
公共的,先加权限.
先给应用加权限:
<uses-permission android:name="android.permission.DEVICE_POWER" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
这里要注意一下DEVICE_POWER这个权限是只能给系统应用的.默认给了我们的应用后会报错,需要调整开发工具中对权限检查后的行为
eclipse+gdt 需要在window--preference中,在android的Lint Error Checking中搜索ProtectedPerm 并修改它,由err改为warning
这样修改后在6.0以下系统中就可以了.
第1种:想让屏幕一段时间不黑,就得持有一个能让屏幕一直亮着的锁.
得到这样的锁
PowerManager pm = (PowerManager) getSystemService(POWER_SERVICE);
WakeLock liangpingWL = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK
| PowerManager.ACQUIRE_CAUSES_WAKEUP, "hahaha");
其中第一个参是锁的级别,也就是说这个锁要让手机一直保持哪些资源可用.屏幕背光,键盘背光,cpu,wifi等.而且还有这个锁释放后手机如何管理电源.这个例子这样写,是:屏幕一直亮着但亮度可以调暗CPU可以省电,锁一但释放就让手机按人家原来的行为模式变化,我们就好象没存在过一样.比如手机设置是15秒黑屏,而我们锁了30秒,那么手机在锁刚一释放时就立马黑屏了. 其实有些级别的锁是允许屏幕黑掉的.各个级别和特性请参考 PowerManager这个类中各个常量的备注.
然后,
保持这个锁
liangpingWL.acquire();
// liangpingWL.acquire(60000);
如果用第一种不指定时间的,就得一定记得什么时候释放此锁.第二种是超时自动释放的.
最后就是释放此锁.
liangpingWL.release();
第2种.想让屏幕在距离传感器认为贴近时就黑屏,在远离时就亮屏.就得这样写.
得到这样的锁
PowerManager pm = (PowerManager) getSystemService(POWER_SERVICE);
WakeLock heipingWL = pm.newWakeLock(PowerManager.PROXIMITY_SCREEN_OFF_WAKE_LOCK,
"hahaha");
然后,你就想办法一直保持吧.保持的期间,效果有,一但释放距离传感器就不起作用了.
- android中电源管理
- Android电源管理
- android电源管理
- Android 的电源管理
- [转] Android电源管理
- [转] android电源管理
- Android WiFi 电源管理
- Android电源管理
- Android 的电源管理
- Android电源管理概念
- Android电源管理
- Android电源管理
- Android 电源管理
- Android的电源管理
- Android 电源管理
- Android 电源管理
- android电源管理
- Android电源管理
- 文档总结:linux中的文档与权限
- 【HNOI2014】bzoj3572 世界树
- Golang 本地开发环境配置(Mac)
- HDU2732 最大流..
- 方立勋_30天掌握JavaWeb_div和css基础
- android中电源管理
- Vim插件之vim-autoformat
- hbm2ddl.auto:生成表结构的策略配置
- 116. Populating Next Right Pointers in Each Node
- Eclipse开发struts完全指南
- JAVA多线程之——ArrayBlockingQueue
- 1034. 有理数四则运算(20)
- Maven的安装及配置
- 遍历器异常: java.util.NoSuchElementException