В моем приложении Я хочу проверить уровень заряда батареи, если он меньше определенного значения. Я хочу, чтобы мое приложение говорило об этом уровне, используя текст для речи и услуг. Я сделал это с помощью broadcastreciever, но она работает только тогда, когда приложение работает на экране и не работает, когда он работает в фоновом режиме ...Как получить уровень заряда батареи с помощью широковещательного приемника
public class Batteryreciever extends BroadcastReceiver {
int level;
@Override
public void onReceive(Context context, Intent intent) {
if(intent.getAction().equals("android.intent.action.BATTERY_CHANGED")) {
level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0);
if (level < 10) {
String batterylevel = "critical battery ";
Intent i = new Intent(context, MyService.class);
i.putExtra("KEY1", batterylevel);
i.putExtra("type", "battery");
context.startService(i);
}
}
} }
Оставьте свой код, пожалуйста. Если вы создаете широковещательный приемник в своей деятельности, он может не работать, когда приложение находится в фоновом режиме, однако, если у вас есть отдельный класс для получателя, а затем зарегистрируйте его в манифесте, приемник будет вызываться каждый раз, когда действие транслируется. См. Это [ссылка] (http://developer.android.com/reference/android/content/BroadcastReceiver.html#onReceive (android.content.Context, android.content.Intent)) –
Я добавил свой код, если вы можете пожалуйста помогите. @AleksandarApostolov – user2409402