我想读出我的 Moto 360 剩余的电池容量。我遇到了显示这个值的表盘,但我想知道如何获得它。我想在我自己创建的表盘上显示这个值。
从 API 级别 21 可以使用BatteryManager.BATTERY_PROPERTY_CAPACITY
,但是我可以将另一个命令用于 API 级别 20 吗?
谢谢
我想读出我的 Moto 360 剩余的电池容量。我遇到了显示这个值的表盘,但我想知道如何获得它。我想在我自己创建的表盘上显示这个值。
从 API 级别 21 可以使用BatteryManager.BATTERY_PROPERTY_CAPACITY
,但是我可以将另一个命令用于 API 级别 20 吗?
谢谢
根据电池监控培训,您可以使用以下方法获取当前电池信息:
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 充电,则应降低速率,如果电池正在放电,则应进一步降低。