获得电池充电状态

Launcher状态栏电池图标的处理:
1:注册电量改变广播接收器BroadcastReceiver (此广播只能通过context.registerReceiver()方法注册)

2:电量改变广播接收器BroadcastReceiver中
public void onReceive(Context context, Intent intent) {
        int level = intent.getIntExtra("level", 0);
        int batteryStatus = getBatteryStatus(intent);   //获得电池状态
        if(batteryStatus == 1) {    //正在充电
            if(level == 100)
                batteryImage.setImageResource(R.drawable.battery_6_fully);
            else
                batteryImage.setImageResource(R.drawable.charge);
            return;
        }
       //划分电量级别
        if(level >= 0 && level <= 5)
            batteryImage.setImageResource(R.drawable.battery_1_fully);
        else if(level <= 24)
            batteryImage.setImageResource(R.drawable.battery_2_fully);
        else if(level <= 43)
            batteryImage.setImageResource(R.drawable.battery_3_fully);
        else if(level <= 62)
            batteryImage.setImageResource(R.drawable.battery_4_fully);
        else if(level <= 81)
            batteryImage.setImageResource(R.drawable.battery_5_fully);
        else if(level <= 100)
            batteryImage.setImageResource(R.drawable.battery_6_fully);
    }
//获得电池充电状态
//在电量变化监听器中.此广播接收的广播Action是Intent.ACTION_BATTERY_CHANGED
    private int getBatteryStatus(Intent intent) {
        int health = intent.getIntExtra("health", -1);
        int status = intent.getIntExtra("status", -1);
        if(status == BatteryManager.BATTERY_HEALTH_OVERHEAT)    //bad status
            return -1;
        if(status == BatteryManager.BATTERY_STATUS_CHARGING)     //charging
            return 1;
        return 0;   //normal
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值