如果手机正在通过插头、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";
}