電話がプラグ、USBケーブルで充電されているか、まったく充電されていない場合、アプリに表示しようとしています。以下のコードを使用しています。USB ケーブルを使用している場合は「USB ケーブルで充電中」と表示され、電話のバッテリーが満タンまたは充電されていない場合は「充電していません」と表示されます。しかし、プラグを介して電話を充電している場合、「USBケーブルを介して充電中」と表示されます。私は通常の AC プラグ充電器を使用していますが、USB ケーブルを差し込める AC プラグ充電器ではありません (問題がある場合)。なぜこれが起こるのですか?
IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
Intent batteryStatus = registerReceiver(null, filter);
int chargeState = batteryStatus.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
if(chargeState == BatteryManager.BATTERY_PLUGGED_USB)
{
chargingBy = "charging via usb cable";
}
else if (chargeState == BatteryManager.BATTERY_PLUGGED_AC)
{
chargingBy = "charging via plug";
}
else
{
chargingBy = "not charging";
}