Я пытаюсь отобразить в приложении, заряжается ли телефон от вилки, USB-кабеля или вообще не заряжается. Я использую приведенный ниже код, он будет отображать «зарядка через USB-кабель», если я использую USB-кабель, и отображает «не заряжается», если аккумулятор телефона заряжен или не заряжается. Но когда я заряжаю телефон через штекер, он показывает «зарядка через USB-кабель». Я использую обычное зарядное устройство с вилкой переменного тока, а не зарядное устройство с вилкой переменного тока, куда вы можете воткнуть USB-кабель (если это имеет значение). Почему это происходит?
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";
}