我正在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 版本?但任何建议都会受到欢迎。