Android 中的电量监听广播。
时间: 2024-02-06 20:09:24 浏览: 25
你可以通过注册 Intent.ACTION_BATTERY_CHANGED 的广播接收器来监听 Android 设备上电池状态的更改。例如,可以通过下面的代码来获取电池的电量百分比:
```
public class BatteryReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
int batteryLevel = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0);
int batteryScale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, 100);
int batteryPercent = Math.round(batteryLevel * 100.0f / batteryScale);
Log.i("BatteryReceiver", "Battery percentage: " + batteryPercent + "%");
}
}
```
然后,我们可以在 AndroidManifest.xml 文件中声明该广播接收器:
```
<receiver android:name=".BatteryReceiver">
<intent-filter>
<action android:name="android.intent.action.BATTERY_CHANGED" />
</intent-filter>
</receiver>
```
这样,当电量发生变化时,系统会广播一个 ACTION_BATTERY_CHANGED 的 Intent,该 Intent 包含有关电池状态的信息,而我们的 BroadcastReceiver 将接收并处理该 Intent。