代码如下:
IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
Intent batteryStatusIntent = registerReceiver(null, ifilter);
int status = batteryStatusIntent.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING ||
status == BatteryManager.BATTERY_STATUS_FULL;
int chargePlug = batteryStatusIntent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
boolean usbCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_USB;
boolean acCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_AC;
if (isCharging) {
if (usbCharge) {
Toast.makeText(MainActivity.this, "手机正处于USB连接!", Toast.LENGTH_SHORT).show();
Log.i(TAG, "手机正处于USB连接!");
charge = 1;
} else if (acCharge) {
Toast.makeText(MainActivity.this, "手机通过电源充电中!", Toast.LENGTH_SHORT).show();
Log.i(TAG, "手机通过电源充电中");
charge = 1;
}
} else {
Toast.makeText(MainActivity.this, "手机未连接USB线!", Toast.LENGTH_SHORT).show();
Log.i(TAG, "手机未连接USB线!");
charge = 0;
}