private final BroadcastReceiver mBatInfoReceiver = new BroadcastReceiver() {
int intLevel = 0;
int intScale = 0;
@Override
public void onReceive(final Context context, final Intent intent) {
final String action = intent.getAction();
/** 如果捕捉到的action是ACTION_BATTERY_CHANGED, 就运行onBatteryInfoReceiver() */
if (Intent.ACTION_BATTERY_CHANGED.equals(action)) {
intLevel = intent.getIntExtra("level", 0);
intScale = intent.getIntExtra("scale", 100);
// 电池伏数
Log.d("Battery V", "" + intent.getIntExtra("voltage", 0));
// 电池温度
Log.d("Battery T", "" + intent.getIntExtra("temperature", 0));
intent.getIntExtra("voltage", 0);//当前电压为
intent.getIntExtra("temperature", 0);//当前温度为
switch (intent.getIntExtra("status", BatteryManager.BATTERY_STATUS_UNKNOWN)) {
case BatteryManager.BATTERY_STATUS_CHARGING:
//BatteryStatus = "充电状态";
break;
case BatteryManager.BATTERY_STATUS_DISCHARGING:
// BatteryStatus = "放电状态";
break;
case BatteryManager.BATTERY_STATUS_NOT_CHARGING:
// BatteryStatus = "未充电";
break;
case BatteryManager.BATTERY_STATUS_FULL:
// BatteryStatus = "充满电";
break;
case BatteryManager.BATTERY_STATUS_UNKNOWN:
// BatteryStatus = "未知道状态";
break;
}
switch (intent.getIntExtra("plugged",BatteryManager.BATTERY_PLUGGED_AC)) {
case BatteryManager.BATTERY_PLUGGED_AC:
//BatteryStatus2 = "AC充电";
break;
case BatteryManager.BATTERY_PLUGGED_USB:
//BatteryStatus2 = "USB充电";
break;
}
switch (intent.getIntExtra("health",BatteryManager.BATTERY_HEALTH_UNKNOWN)) {
case BatteryManager.BATTERY_HEALTH_UNKNOWN:
//BatteryTemp = "未知错误";
break;
case BatteryManager.BATTERY_HEALTH_GOOD:
//BatteryTemp = "状态良好";
break;
case BatteryManager.BATTERY_HEALTH_DEAD:
// BatteryTemp = "电池没有电";
break;
case BatteryManager.BATTERY_HEALTH_OVER_VOLTAGE:
//BatteryTemp = "电池电压过高";
break;
case BatteryManager.BATTERY_HEALTH_OVERHEAT:
//BatteryTemp = "电池过热";
break;
}
}
}
};
如何检测电池状态
最新推荐文章于 2023-08-23 15:14:07 发布