0
IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
        final Intent batteryStatus = registerReceiver(null, ifilter);

        // 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);

When the device is connected to USB, it still shows usbCharge = false, while at that timme acCharge is shown as true. Why is it so?

Garima
  • 1
  • 3
  • Could be device specific i.e. some models report it wrong. A related question: [https://stackoverflow.com/questions/36128013/android-batterymanager-extra-plugged-return-ac](https://stackoverflow.com/questions/36128013/android-batterymanager-extra-plugged-return-ac) – Markus Kauppinen Jun 16 '23 at 07:27
  • Oh, Okay, Thanks – Garima Jun 16 '23 at 12:26

0 Answers0