BATTERY_PROPERTY_CURRENT_NOW是否有任何理由在两个不同的设备上返回截然不同的值?

时间:2018-03-23 17:45:34

标签: android batterymanager

我正在测试两个不同设备上的BATTERY_PROPERTY_CURRENT_NOW功能。

首先我有三星Galaxy S7(Android 7.0 API 24)和Nexus 6P(Android 8.1 API 27)。

当我在三星上运行BATTERY_PROPERTY_CURRENT_NOW时,我会得到-300左右的结果,这对我来说是正确的。但是在Nexus上我得到了-120000到400000之间的任何东西。为什么会这样呢?

以下是完整代码:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    final BatteryManager bm = (BatteryManager) getApplicationContext().getSystemService(Context.BATTERY_SERVICE);
    int current = bm.getIntProperty(BatteryManager.BATTERY_PROPERTY_CURRENT_NOW);

    TextView textView = findViewById(R.id.textView);
    textView.setText(String.valueOf(current));

}

我不确定是不是因为Nexus是Android的更新版本?但欢迎任何建议。

1 个答案:

答案 0 :(得分:0)

我认为三星手机返回毫安。我的手机可以吸收的最大电流为 1.55 A。该函数返回一个 1400 - 1450 之间的整数,以毫安为单位。它只会在 10 秒内更新一次该值。