hus*_*sam 4 android power-management wakelock screen-off
我试图识别当用户在屏幕关闭时按下音量摇杆以更新活动.根据我的阅读,BroadcastReceivers(我认为)在手机处于睡眠状态时不起作用,因此唯一的方法是使用PARTIAL_WAKE_LOCK保持活动运行.我的应用程序是一个不应该使用太多电池的基本应用程序,但我担心使用PARTIAL_WAKE_LOCK可能会耗尽电池(这违背了在屏幕关闭时识别按钮按下的目的).
PARTIAL_WAKE_LOCK实际上是基本应用程序的问题吗?如果是这样,最好的方法是什么,如果没有,那么使用PARTIAL_WAKE_LOCK的最佳方式是什么(即何时应该获取/释放它)?
提前致谢.
这里有两个问题; 我将专注于它的"WAKELOCK"部分.
唤醒锁因通过移动设备电池搅拌而臭名昭着.了解设备将使屏幕变暗,然后在关闭CPU并进入"睡眠"模式之前关闭屏幕.这对您的手机来说是非常重要的一步,因为它可以节省电池电量.
唤醒锁是非常危险的,因为在你完成时忘记释放锁是太容易了.
一般情况下,你不应该试图让设备在睡觉时保持清醒; 当你正在吃电池时,这会激怒你的用户.
以下是一些可能以更好的方式处理唤醒锁的技巧:
1)如果用户停靠/充电,则仅允许此操作
2)使用接受超时参数的WakeLock.aquire(..)版本.这样,您可以唤醒,检查某些状态,然后在没有任何事情发生时自动返回睡眠状态.(见http://goo.gl/FkrO8)
3)使用AlarmManager创建不准确的计时器; 这将允许您的应用程序在其他应用程序唤醒工作时被唤醒.
4)使用JobScheduler API(在L中发布),它允许您从单个API处理这种类型的调度和工作延迟.(见http://goo.gl/Z1AqSn)
| 归档时间: |
|
| 查看次数: |
1906 次 |
| 最近记录: |