我需要定期读取电池电流值。在 Nexus 设备上,我通过阅读来执行此操作(以 uA 为单位)
/sys/class/power_supply/电池/current_now
Lollipop (API 21) 及更高版本也有一个 API:
BatteryManager bm =(BatteryManager)getSystemService(Context.BATTERY_SERVICE);
bm.getIntProperty(BatteryManager.BATTERY_PROPERTY_CURRENT_NOW);
在大多数设备上,此值会随使用而变化。例如,如果您改变屏幕的亮度,则从电池中汲取的电流会成比例地变化。不幸的是,在 S5 上,我只看到 450 mA 的固定分数。符号从 + 变为 - 取决于设备是否正在充电。
除了上面列出的阅读此图的 2 种方法外,我还检查了文件
/sys/class/power_supply/电池/batt_current_ua_now
/sys/class/power_supply/sec-fuelgauge/current_now
并得到相同的结果。此外,我使用Play 商店的 App Ampere验证了这一点。
静态 450 值是设计使然吗?
如果是,有没有其他方法可以像在其他设备上那样读取当前值?例如,是否有一个自定义内核可以通过闪存来修复此功能/错误?
一旦我拿到 S6,我会更新这个问题,但请随时对你们测试过的任何三星设备发表评论。