У меня есть приложение, которое зарегистрировало BroadcastReceiver, который прослушивает намерения android.intent.action.EVENT_REMINDER. Из Oreo он вообще не работает, пока вы не добавите приложение в качестве исключения для энергосбережения.
Но это, на мой взгляд, ошибка в Android, потому что они явно говорят в документации:
В рамках Android 8.0 (уровень API 26) Пределы выполнения фона,
приложения, ориентированные на уровень API 26 или выше, больше не могут регистрироваться
широковещательные приемники для неявных трансляций в их манифесте.
Тем не менее, несколько передач в настоящее время освобождены от этих
Ограничения
И ACTION_EVENT_REMINDER находится в списке!
Так что, если есть исключение, почему я не получаю широковещательную рассылку, пока я не внесу свое приложение в белый список для оптимизации энергопотребления? Это не должно быть необходимым, но все же от Oreo.
Я что-то не так делаю? Мой манифест:
<receiver android:name=".services.MyReceiver" >
<intent-filter>
<action android:name="android.intent.action.EVENT_REMINDER" />
<data android:scheme="content" />
</intent-filter>
</receiver>
Отлично работает до Oreo. ТОЛЬКО после Oreo, если я добавлю приложение в качестве исключения для экономии заряда батареи.