Android 佩戴表盘获得 Phone 的电量百分比
Android Wear Watch Face get battery percentage of Phone
我正在开发 Android Wear Watch Face,我想显示手表和 phone 的电池电量百分比。我设法获得了 Watch 的百分比,但我是 Java 和 Android 的新手,所以请放宽我的解释。
private String getBatteryInfoPhone()
{
float retVal = 0;
IntentFilter iFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
Intent batteryStatus = registerReceiver(null, iFilter);
int status = batteryStatus.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
int level = batteryStatus.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
int scale = batteryStatus.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
retVal = level / (float)scale;
return Integer.toString(Math.round(retVal)) + "%";
}
这是我目前拥有的代码,可以给我 phone 的百分比。
请注意,这是一个表盘,因此它是一个没有活动的服务。
使用此解决方案,我不断得到 1% 而不是实际百分比。
batteryStatus.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
将为您提供 1 到 100 之间的值,因此您可以直接将其作为百分比插入。你不需要除以比例。
我正在开发 Android Wear Watch Face,我想显示手表和 phone 的电池电量百分比。我设法获得了 Watch 的百分比,但我是 Java 和 Android 的新手,所以请放宽我的解释。
private String getBatteryInfoPhone()
{
float retVal = 0;
IntentFilter iFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
Intent batteryStatus = registerReceiver(null, iFilter);
int status = batteryStatus.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
int level = batteryStatus.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
int scale = batteryStatus.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
retVal = level / (float)scale;
return Integer.toString(Math.round(retVal)) + "%";
}
这是我目前拥有的代码,可以给我 phone 的百分比。 请注意,这是一个表盘,因此它是一个没有活动的服务。
使用此解决方案,我不断得到 1% 而不是实际百分比。
batteryStatus.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
将为您提供 1 到 100 之间的值,因此您可以直接将其作为百分比插入。你不需要除以比例。