- 显然,手持设备的电量需要引起很大的重视。通过这一系列的课程,可以学会如何根据设备电池状态来改变App的某些行为与功能。
- 通过在断开连接时关闭后台服务,在电量减少时减少更新数据的频率等等操作可以在不影响用户体验的前提下,确保App对电池寿命的影响减到最小。
Monitoring the Battery Level and Charging State[监测电池的电量与充电状态]
- 当你想通过改变后台更新操作的频率来减少对电池寿命的影响,那么先手需要检查当前电量与充电状态。
- 电池的电量与是否在充电状态会影响到一个程序去执行更新的操作。当设备在进行AC充电时,程序做任何操作都不太会受到电量的影响,所以在大多数时候,我们可以在设备充电时做很多想做的事情(刷新数据,下载文件等),相反的,如果设备没有在充电状态,那么我们就需要尽量减少设备的更新操作等来延长电池的续航能力。
- 同样的,我们可以通过检查电池目前的电量来减少甚至停止一些更新操作。
Determine the Current Charging State[判断当前充电状态]
BatteryManager
会广播一个带有电池与充电详情的Sticky
Intent。[关于Sticky intent有不清楚的,请参考http://developer.android.com/guide/topics/fundamentals/services.html中对带有sticky的service是如何解释的]
- 因为广播的是一个sticky intent,那么不需要注册BroadcastReceiver。仅仅只需要简单的call一个参null参数的regiserReceiver()方法。
- 我们可以从intent里面提取出当前的充电状态与是否通过USB或者AC充电器来充电。
- 我们可以从intent里面提取出当前的充电状态与是否通过USB或者AC充电器来充电。通常的做法是在使用AC充电时最大化后台更新操作,在使用USB充电时降低更新操作,不在充电状态时,最小化更新操作。
Monitor Changes in Charging State[监测充电状态的改变]
Determine the Current Battery Level[判断当前电池电量]
- 在一些情况下,获取到当前电池电量也是很有帮助的。我们可以在获知电量少于某个级别的时候减少某些后台操作。
- 我们可以从获取到电池状态的intent中提取出电池电量与容量等信息。
Monitor Significant Changes in Battery Level[检测电量的有效改变]
分享到:
相关推荐
vuforia-samples-advanced-android-ios-unity-4-2-3.zip官网下载太慢了,放在网盘方便大家下载
vuforia-samples-advanced-android-7-1-34 方便安卓的高通AR的unity示例包
advanced-spark-training.pdf
Advanced Android App Architecture pdf + epub + source code
Qt-Advanced-Docking-System-master
第1章介绍Android系统架构、系统源码目录和如何阅读源码,带领大家走进Android系统源码的世界。 第2章介绍Android系统启动过程,为下面的章节做好铺垫。 第3章介绍应用程序进程启动过程。 第4章介绍四大组件的工作...
yii-advanced-app-2.0.4 下载
fluent的附加模块,包含燃料电池、磁流体、PBM等模块的理论和使用方法;PBM是population balance,可以用来计算多相流中,气泡的生成、发展、溃灭等过程。
谷歌浏览器的api接口测试工具Advanced-REST-client
Advanced Bash-Scripting Guide
Advanced Bash-Scripting Guide 3.9.1 (包括中译本) 作者:thegrendel 主页:http://personal.riverusers.com/~thegrendel 中译本:杨春敏(chunmin.yang at gmail.com) 黄毅 (linuxprogram at gmail.com)...
STM32F100xx advanced ARM-based 32-bit MCUs 手册 最新版
谷歌插件Advanced-REST-client 谷歌插件Advanced-REST-client 谷歌插件Advanced-REST-client 谷歌插件Advanced-REST-client
网上的别人的android例子,可以跟着看下,入门的 FragmentExample_start LocaleText3_start LocaleText_start MemoryOverload RecyclerView_start Scorekeeper_start SimpleAccessibility_start...
关于Android开发的电子书。本书从不同视角介绍了Android内在特点和结构,适合Android的初学者阅读。
qt Qt-Advanced-Docking-System 使用教程 示例代码
互联网 Java 工程师进阶知识完全扫盲 本系列知识出自中华石杉,我对这部分知识做了一个系统的整理,方便学习查阅。By the way,微信公众号石杉的架构笔记(id:shishan100)有其它很多架构知识,墙裂推荐~ ...
CarND-Advanced-Lane-Lines-master,Udacity的项目,自己完成的,使用anaconda直接可以运行
Bash脚本高级指南(Advanced Bash-Scripting Guide)是学习shell的经典指南,其中内容详细,实例丰富,且根据Bash的发展不断更新,此资源是Advanced Bash-Scripting Guide的最新版本6.6,更新于2012.11.27,是本人...
Advanced Android ...The Advanced Android course is intended to be an instructor-led training and is targeted towards intermediate Android developers with a background in software development or co