標籤:percent public
public class BatteryChangedReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
//當前電量
int currLevel = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0);
//總電量
int total = intent.getIntExtra(BatteryManager.EXTRA_SCALE, 1);
int percent = currLevel * 100 / total;
}
}
在資訊清單檔配置以下XMl:
<receiver android:name=".BatteryChangedReceiver">
<intent-filter>
<action android:name="android.intent.action.BATTERY_CHANGED"/>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
立即擷取電量的,而不是等電量變化的廣播,比如當閱讀軟體開啟時立即顯示出電池電量。我們可以按以下方式擷取:
Intent batteryIntent = getApplicationContext().registerReceiver(null,
new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
int currLevel = batteryIntent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0);
int total = batteryIntent.getIntExtra(BatteryManager.EXTRA_SCALE, 1);
int percent = currLevel * 100 / total;
使用廣播查看電量變化