您的位置:首页 > 移动开发 > Android开发

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手机执行上述代码的时候程序会崩溃。
我是第一次碰到这种问题,所以标记一下。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: