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; } } } };