获取Android设备电池电量状态

来源:互联网 发布:底层软件开发工程师 编辑:程序博客网 时间:2024/05/17 09:06

方法一:注册广播

这个方法网上一搜一大堆,我也贴出部分代码

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手机执行上述代码的时候程序会崩溃。
我是第一次碰到这种问题,所以标记一下。
0 0
原创粉丝点击