我正在开发一个Android Wear Watch Face,我想显示手表和手机的电池电量百分比。我设法获得了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)) + "%";
}

这是我目前用来给我手机百分比的代码。
请注意,这是一个表盘,因此它是一项没有 Activity 的服务。

使用此解决方案,我会不断得到1%而不是实际百分比。

最佳答案

batteryStatus.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);

将为您提供1到100之间的值,因此您可以直接将其作为百分比插入。您无需将其除以比例。

09-09 21:50
查看更多