私はこのコードを使用して、サービスのバッテリー情報を追跡しています。
Intent i = new ContextWrapper(applicationContext).registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
// now you can get the level and scale from this intent variable
int level = i.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
int scale = i.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
float battPct = level/(float)scale;
1.自動的に交換されてからバッテリーが交換されるかどうか知りたいですか?それとも、定期的に自分でその意図を実行する必要がありますか?2.また、バッテリー残量の1%が使用されてからの経過時間を計算する方法があるかどうかを知りたいです。