Android获取手机电压,电流,电量,BatteryManager

//手机电流
BatteryManager mBatteryManager = (BatteryManager)getSystemService(Context.BATTERY_SERVICE);
int energy = mBatteryManager.getIntProperty(BatteryManager.BATTERY_PROPERTY_CURRENT_NOW);
BroadcastReceiver batteryChangedReceiver = new BroadcastReceiver() {
    public void onReceive(Context context, Intent intent) {

        int rawlevel = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
              //电池电量最大值
        int scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
        //电压
        int intExtra = intent.getIntExtra(BatteryManager.EXTRA_VOLTAGE, -1)/1000;


        if ((rawlevel >= 0) && (scale > 0)) {
//当前电量
            mBatteryLevel = (rawlevel * 100) / scale;
            Log.e("电量情况", mBatteryLevel + "");
        } else {
            mBatteryLevel = -1;

        }
        int status = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
        if (status != -1) {
            switch (status) {
                case 0:
                    mPowerSource = "电池供电";
                    if (mBatteryLevel < powerlow) {// 低于电量下限值向平台发充电质量
                        Log.e(TAG, "onReceive: =======低电量==========" );

                    } else {
                        Log.e(TAG, "onReceive: =======未充电==========" );

                    }
                    break;
                case BatteryManager.BATTERY_PLUGGED_AC:
                    mPowerSource = "交流供电";
                    Log.e(TAG, "onReceive: =======正在充电==========" );

                    if (mBatteryLevel > powerhigh) {// 充电的时候发现当前的电量高于上限向平台发送断电指令
                        Log.e(TAG, "onReceive: =======已充满,请断电!==========" );
                    }
                    break;

                case BatteryManager.BATTERY_PLUGGED_USB:
                    mPowerSource = "USB供电";
                    Log.e(TAG, "onReceive: =======正在充电==========" );
                    if (mBatteryLevel > powerhigh) {
                        Log.e(TAG, "onReceive: =======已充满,请断电!==========" );
                    }
                    break;
            }
        }
    }
};

Activity注册

// 定义电池电量更新广播的过滤器,只接受带有ACTION_BATTERRY_CHANGED事件的Intent
IntentFilter batteryChangedReceiverFilter = new IntentFilter();
batteryChangedReceiverFilter.addAction(Intent.ACTION_BATTERY_CHANGED);//
// 向系统注册batteryChangedReceiver接收器,本接收器的实现见代码字段处
registerReceiver(batteryChangedReceiver, batteryChangedReceiverFilter);

反注册

unregisterReceiver(batteryChangedReceiver);
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值