如何检测电池状态

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值