Deppとしてあなたが望むように、 実際にはどのアプリがデバイスのバッテリを放電させているのかわからないので、バッテリの充電状況に関する詳細しか知ることができません。
BatteryManagerは、すべてのバッテリーと充電の詳細を充電状態を含むスティッキインテントにブロードキャストします。
IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
Intent batteryStatus = context.registerReceiver(null, ifilter);
デバイスがUSBまたはAC充電器を経由して充電するのかどうか、充電されている場合は、現在の充電状態の両方を抽出し、することができます
// Are we charging/charged?
int status = batteryStatus.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING ||
status == BatteryManager.BATTERY_STATUS_FULL;
// How are we charging?
int chargePlug = batteryStatus.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
boolean usbCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_USB;
boolean acCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_AC;
ここにすべての詳細:https://developer.android.com/training/monitoring-device-state/battery-monitoring.html
おかげで、私はより便利な 'BatteryManager'メソッド' BATTERY_PROPERTY_CAPACITY'と放送受信機を必要としない 'BATTERY_PROPERTY_CHARGE_COUNTER'を発見しました。しかし、私が本当に望んでいるのは、バッテリー使用量の設定値である「CPU合計」と「計算された電力使用量」 – anber