Android获取电池电量的三种方法
2016-02-19 11:27
519 查看
方法一:注册广播这个方法网上一搜一大堆,我也贴出部分代码
IntentFilter filter2 = new IntentFilter(); filter2.addAction(Intent.ACTION_BATTERY_CHANGED); registerReceiver(filter2,receiver);
接收到广播后,用getIntExtra("level")和getIntExtra("scale")获得相应值
方法二:通过执行命令(不需要root)
通过adb shell dumpsys battery,返回结果后有电池的各种信息,其中就包括level(百分比)
方法三:通过BatteryManager
BatteryManager batteryManager=(BatteryManager)getSystemService(BATTERY_SERVICE);System.out.println(batteryManager.getIntProperty(BatteryManager.BATTERY_PROPERTY_CHARGE_COUNTER));System.out.println(batteryManager.getIntProperty(BatteryManager.BATTERY_PROPERTY_CURRENT_AVERAGE));System.out.println(batteryManager.getIntProperty(BatteryManager.BATTERY_PROPERTY_CURRENT_NOW));
这个需要Api>=21才行,所以说4.4.2的手机是不支持的。4.4.2手机执行上述代码的时候程序会崩溃。
我是第一次碰到这种问题,所以标记一下。
相关文章推荐
- Android 三大图片缓存原理、特性对比
- 子线程也是需要休息的
- 保存枚举值,应该是要保存int值
- android学习笔记(一)
- 刘备学Android Word文档下载地址和序言
- Android实现图片异步请求加三级缓存
- android studio常用的快捷键
- Android编程中黑名单的实现方法
- Android应用--首次使用的欢迎界面,之后不再显示
- Android实现简易音量调节(AudioManager)
- Android 自己的薄弱点
- AndroidStudio插件GsonFormat快速实现JavaBean
- 三星note2 android调用系统拍照空指针异常
- Android实现图片异步加载及本地缓存
- 关于Android旋转屏幕丢失数据的新读
- Android实现图片缓存与异步加载
- 八个最优秀的Android Studio插件
- Android SearchView 基本使用
- Android 开源框架Universal-Image-Loader完全解析(三)---源代码解读
- Android 开源框架Universal-Image-Loader完全解析(二)--- 图片缓存策略详解