天天看點

Android 擷取電池電量

1.注冊廣播

IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(Intent.ACTION_BATTERY_CHANGED);
registerReceiver(receiver, intentFilter);
           

2.接收廣播,擷取電量

private final BroadcastReceiver receiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        final String action = intent.getAction();

        if (Intent.ACTION_BATTERY_CHANGED.equals(action)) {
            int level=intent.getIntExtra(BatteryManager.EXTRA_LEVEL,0);
            int scale=intent.getIntExtra(BatteryManager.EXTRA_SCALE,0);
            int levelPercent = (int)(((float)level / scale) * 100);

            log.d(TAG, "電量:" + Integer.toString(levelPercent) + "%");
        }
    }
};