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
お役に立てれば、
乾杯