如何检测电池状态

    技术2022-05-20  52

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


    最新回复(0)