首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么BATTERY_PROPERTY_CHARGE_COUNTER不能作为BATTERY_PROPERTY_CURRENT_NOW工作?

为什么BATTERY_PROPERTY_CHARGE_COUNTER不能作为BATTERY_PROPERTY_CURRENT_NOW工作?
EN

Stack Overflow用户
提问于 2017-09-24 23:59:10
回答 1查看 1.6K关注 0票数 2

我可以使用_CURRENT_NOW读取瞬时电流的值,并使用_CAPACITY以百分比形式获得剩余电池容量。问题是,我无法使用属性_CHARGE_COUNTER (也不是_ENERGY_COUNTER)访问mAh中的剩余电池容量。这是由于硬件原因,还是在未扎根的手机上不可能?我不明白为什么下面的代码不能工作。

代码语言:javascript
复制
        TextView current = (TextView) findViewById(R.id.current);
    TextView chargeCounter = (TextView) findViewById(R.id.chargeCounter);
    TextView batteryLevel = (TextView) findViewById(R.id.batteryLevel);
    TextView energyCounter = (TextView) findViewById(R.id.energyCounter);

    BatteryManager batteryManager = (BatteryManager) getSystemService(BATTERY_SERVICE);

    long cu =  batteryManager.getLongProperty(BatteryManager.BATTERY_PROPERTY_CURRENT_NOW);
    long q = batteryManager.getLongProperty(BatteryManager.BATTERY_PROPERTY_CHARGE_COUNTER);
    long level = batteryManager.getLongProperty(BatteryManager.BATTERY_PROPERTY_CAPACITY);
    long energy = batteryManager.getLongProperty(BatteryManager.BATTERY_PROPERTY_ENERGY_COUNTER);

    current.setText("Current : " + String.valueOf(cu) + " mA");
    chargeCounter.setText("Remaining capacity : " + String.valueOf(q) + " uAh");
    batteryLevel.setText("Battery status : " + String.valueOf(level) + " %");
    energyCounter.setText("Battery status : " + String.valueOf(energy) + " %");

对于每个不起作用的属性,我都有一个巨大的数字:9223372036854775808

欲了解更多信息,请访问:https://source.android.com/devices/tech/power/device

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2017-10-25 17:05:08

这个值是Long.MIN_VALUE,因为你的手机不支持它,你可以在https://developer.android.google.cn/reference/android/os/BatteryManager.html上看到它

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46391998

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档