Android立即获取电量

Android可以通过注册普通广播接收者来获取电量,这是一个异步,需要等到系统发送广播才能收到,Android还有一种粘性广播,系统发送电量的广播是粘性广播,之前的数据都会保存在系统里面,不用等到下一次发送广播的时候才能收到,所以这种方式可以立即得到电量。

 

/**
     * 通过粘性广播检测电量
     */
    private void checkBattery()
    {
        //通过粘性广播读取电量
        IntentFilter intentFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
        Intent intentBattery = registerReceiver(null, intentFilter);//注意,粘性广播不需要广播接收器
        if(intentBattery!=null)
        {
            //获取当前电量
            int batteryLevel = intentBattery.getIntExtra("level", 0);
            //电量的总刻度
            int batterySum = intentBattery.getIntExtra("scale", 100);
            float rotatio = 100*(float)batteryLevel/(float)batterySum;
        }
    }

 

posted @ 2016-04-25 09:52  LinuxCC  阅读(777)  评论(0)    收藏  举报