- 创建一个新的 Android 应用程序项目。
- 在你的应用程序中添加一个 BroadcastReceiver(广播接收器)来监听电池状态的变化。
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 = (batteryLevel * 100) / batteryScale;
// 省电模式
boolean powerSaveModeOn = false;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
powerSaveModeOn = intent.getBooleanExtra(BatteryManager.EXTRA_POWER_SAVE_MODE, false);
}
Log.i("BatteryReceiver", "Battery level: " + batteryPercent + "%, Power save mode: " + powerSaveModeOn);
}
}
- 在 AndroidManifest.xml 文件中声明 BroadcastReceiver。
.
<receiver android:name=".BatteryReceiver">
<intent-filter>
<action android:name="android.intent.action.BATTERY_CHANGED"/>
</intent-filter>
</receiver>
- 在你的应用程序中注册 BroadcastReceiver。
-
BatteryReceiver batteryReceiver = new BatteryReceiver(); IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED); registerReceiver(batteryReceiver, filter);
以上代码将监听电池状态的变化,并获取当前电池的电量百分比和省电模式状态。如果省电模式已经打开,则
powerSaveModeOn
的值将为 true,否则为 false。