Android获取当前充电状态的代码段

函数说明:
返回当前电池的充电状态
使用场景:在Settings中某个开关打开或关闭情况下,需要判断当前充电状态时,如果不是这种使用场景,酌情修改此函数的入参为合适的场景即可!

private int getChargingState(Preference arg0) {
    IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
    Intent batteryStatus = arg0.getContext().registerReceiver(null, ifilter);// Are we charging / charged?
    int status = batteryStatus.getIntExtra(BatteryManager.EXTRA_STATUS, -1);

    //boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING || status == BatteryManager.BATTERY_STATUS_FULL;
    int level =batteryStatus.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
    int scale = batteryStatus.getIntExtra(BatteryManager.EXTRA_SCALE, -1);

    mBatteryLevel = (level * 100 / scale);Log.i(TAG, "getChargingState current level is: "+mBatteryLevel);
    return status;
}

你可能感兴趣的:(Android获取当前充电状态的代码段)