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) + "%");
}
}
};