通过自实现receiver,监听返回的action,一直等不到充电状态action和非充电状态action,总是返回battery_changed状态。最后通过下面这种方式获取到充电状态
public static boolean isCharging(Context context) {
IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
Intent batteryStatus = context.registerReceiver(null, filter);
int status = batteryStatus.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
return status == BatteryManager.BATTERY_STATUS_CHARGING ;//此处介于我只需要充电状态,所以只有一种情况,并没有把满电状态也添加进去。所以大家根据个人需要调整判断条件。
}