【问题标题】:Android Wear Watch Face get battery percentage of PhoneAndroid Wear Watch Face 获取手机电量百分比
【发布时间】:2015-03-09 09:17:38
【问题描述】:

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

这是我目前拥有的代码,可让我获得手机的百分比。 请注意,这是一个表盘,因此它是一项没有活动的服务。

通过这个解决方案,我不断得到 1% 而不是实际百分比。

【问题讨论】:

  • 等不及要出来了

标签: java android android-service wear-os


【解决方案1】:
batteryStatus.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);

会给你已经在 1 到 100 之间的值,所以你可以直接将它作为百分比插入。你不需要按比例来划分它。

【讨论】:

  • 非常感谢,这是真的,但现在当我从那条线上获取信息时,我得到了手表而不是手机的百分比。
  • 如果您想从手机获取电池电量百分比,您需要使用DataApi 同步此信息。因此,以相同的方式从移动模块读取值,然后将其同步到手表。这是关于api的链接developer.android.com/training/wearables/data-layer/index.html
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多