Android デバイスがプラグ、USB ケーブル、ワイヤレス デバイスによって充電されているか、まったく充電されていないかを表示するアプリがあります。以下のコードを使用しています。携帯電話 (Android 4.1 を搭載) またはタブレット (Android 4.3 を搭載) を車の USB 充電器に充電するまで、正しい充電方法 (存在する場合) が表示されます。USB デバイスと表示されているはずなのに、プラグで充電していると表示されます。この背後にある理由は何ですか?
IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
Intent batteryStatus = registerReceiver(null, filter);
int chargeState = batteryStatus.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
if(chargeState == BatteryManager.BATTERY_PLUGGED_USB)
{
chargingBy = "charging via usb cable";
}
else if (chargeState == BatteryManager.BATTERY_PLUGGED_AC)
{
chargingBy = "charging via plug";
}
else if (chargeState == BatteryManager.BATTERY_PLUGGED_WIRELESS)
{
chargingBy = "charging via wireless device";
}
else
{
chargingBy = "not charging";
}