您可以在 adb shell中检查/sys/class/power_supply路径。
您应该能够看到与电池信息相关的文件夹。文件夹名称因设备而异。进入相关文件夹。
就我而言,它是/sys/class/power_supply/battery。(银河_S4)
使用cat uevent
或cat related_file
。然后您应该能够查看电池驱动程序是否告知您要查找的信息。
笔记:
Android 只负责从电池驱动程序提供的文件中读取支持的值。在电池驱动程序源代码中执行以微安为单位的剩余电池计算。如果驱动程序不向您提供信息,Android 将无法获取信息。
例如;
shell@ja3g:/ $ cd /sys/class/power_supply/battery
shell@ja3g:/sys/class/power_supply/battery $ cat uevent
POWER_SUPPLY_NAME=battery
POWER_SUPPLY_STATUS=Charging
POWER_SUPPLY_CHARGE_TYPE=Fast
POWER_SUPPLY_HEALTH=Good
POWER_SUPPLY_PRESENT=1
POWER_SUPPLY_ONLINE=4
POWER_SUPPLY_TECHNOLOGY=Li-ion
POWER_SUPPLY_VOLTAGE_NOW=4211000
POWER_SUPPLY_VOLTAGE_AVG=4211000
POWER_SUPPLY_CURRENT_NOW=360
POWER_SUPPLY_CURRENT_AVG=360
POWER_SUPPLY_CHARGE_NOW=1
POWER_SUPPLY_CAPACITY=87
POWER_SUPPLY_TEMP=315
POWER_SUPPLY_TEMP_AMBIENT=-250
shell@ja3g:/sys/class/power_supply/battery $ cat capacity
87
POWER_SUPPLY_CAPACITY=87
表示电池驱动器计算剩余电量百分比为 87 并写入此文件夹中的容量文件。Android 从这个文件中读取并显示电池百分比为 87。这都是关于驱动程序的。
可选地,
BatteryManager.BATTERY_PROPERTY_CURRENT_NOW
有一个从设备中的 current_now 文件中读取的应用程序。文件位置因设备而异。
我正在使用 Vestel Liva Android 5.1 手机,就我而言 current_now 文件路径是:
/sys/devices/soc.0/qpnp-vm-bms-ffffffc073455400/power_supply/bms/current_now
这是项目源代码的链接:CurrentWidget
也许您可以在您的设备中找到与BatteryManager.BATTERY_PROPERTY_ENERGY_COUNTER
希望这可以帮助,
干杯