天天看點

安卓擷取電池資訊

總結了一些代碼,mark住。

private void test()
    {
        IntentFilter intentFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
        Intent batteryStatusIntent = context.registerReceiver(null, intentFilter);

        // 是否在充電
        int chargeStatus = batteryStatusIntent.getIntExtra(BatteryManager.EXTRA_STATUS, -);
        boolean isCharging = chargeStatus == BatteryManager.BATTERY_STATUS_CHARGING ||
                chargeStatus == BatteryManager.BATTERY_STATUS_FULL;

        // 怎麼充
        int chargePlug = batteryStatusIntent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -);
        boolean usbCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_USB;
        boolean acCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_AC;

        int quantity = batteryStatusIntent.getIntExtra("level", ); 

        int voltage = batteryStatusIntent.getIntExtra("voltage", ) / ;

        int temperature = batteryStatusIntent.getIntExtra("temperature",) / ;

        int health = batteryStatusIntent.getIntExtra("health",
                BatteryManager.BATTERY_HEALTH_UNKNOWN);
    }