我想读出我的Moto 360剩余的电池容量。我已经看到了显示这个值的表盘,但我想知道如何获得它。我想在我自己的表盘上显示这个值,我正在创作。
从API级别21可以使用BatteryManager.BATTERY_PROPERTY_CAPACITY
,但是还有另一个命令我可以用于API级别20吗?
由于
答案 0 :(得分:1)
根据battery monitoring training,您可以使用以下方式获取当前的电池信息:
IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
Intent batteryStatus = context.registerReceiver(null, ifilter);
int level = batteryStatus.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
int scale = batteryStatus.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
float batteryPct = level / (float)scale;
请注意,您需要重复调用此方法以获取更新的电池电量。在唤醒你的应用程序并检查这确实需要电池时,他们建议:
通常,在设备连接到交流充电器的情况下,您应该最大化后台更新的速率,如果充电是通过USB,则降低速率,如果电池正在放电,则降低速率。