实时获取Android 各版本电量的统一方法

亲测可用

 上运行结果图

 

上代码

    /**
     *  实时获取电量
     */
    public static int getSystemBattery(Context context){
        int level = 0;
        Intent batteryInfoIntent = context.getApplicationContext().registerReceiver(null,
                new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
        level = batteryInfoIntent.getIntExtra("level",0);
        int batterySum = batteryInfoIntent.getIntExtra("scale", 100);
        int percentBattery= 100 *  level / batterySum;
        Log.i(ControlerInfo.LogTag,"level = " + level);
        Log.i(ControlerInfo.LogTag,"batterySum = " + batterySum);
        Log.i(ControlerInfo.LogTag,"percent is " +  percentBattery+ "%");
        return percentBattery;
    }

以上代码主要是在注册接收者时,注册了一个空对象进去了,所以也不需要进行注销动作,这样便达到了在只需要简单的电量参数时,调用此方法就行,不需要将具体代码写进广播接收者中去。亲测在低于21 的API 中有效及高于21的 API 中也是可用的。

 

没有更多推荐了,返回首页