读取 EXTRA_PLUGGED 常量的值来判断当前电池是否正在充电
时间: 2023-09-26 07:05:04 浏览: 261
是的,你可以通过读取 EXTRA_PLUGGED 常量的值来判断当前电池是否正在充电。具体实现可以参考以下代码:
```
// 注册电池状态变化的 BroadcastReceiver
private BroadcastReceiver batteryReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
int plugged = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
boolean isCharging = (plugged == BatteryManager.BATTERY_PLUGGED_AC || plugged == BatteryManager.BATTERY_PLUGGED_USB || plugged == BatteryManager.BATTERY_PLUGGED_WIRELESS);
if (isCharging) {
// 当前电池正在充电
} else {
// 当前电池未充电
}
}
};
// 在 onCreate 方法中注册 BroadcastReceiver
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
IntentFilter intentFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
registerReceiver(batteryReceiver, intentFilter);
}
```
在上面的代码中,我们注册了一个 BroadcastReceiver 来监听电池状态变化的广播。当接收到 ACTION_BATTERY_CHANGED 广播时,我们通过读取 EXTRA_PLUGGED 常量的值来判断当前电池是否正在充电。如果 plugged 的值为 BATTERY_PLUGGED_AC、BATTERY_PLUGGED_USB 或者 BATTERY_PLUGGED_WIRELESS 中的任意一个,就说明当前电池正在充电。
阅读全文