У меня есть приложение для Android, которое использует API Awareness для настройки забора при подключении гарнитуры.
Я внедрил AwarenessFence, используя код, как в примерах: https://developers.google.com/awareness/android-api/fence-register.
У меня есть PendingIntent, определяемый как:
PendingIntent.getBroadcast(context, 0, new Intent("my.application.packageFENCE_RECEIVER_ACTION"), 0)
Затем в моем файле AndroidManifest.xml у меня есть
<receiver android:name=".fence.FenceDetector$MyFenceReceiver">
<intent-filter>
<action android:name="my.application.packageFENCE_RECEIVER_ACTION" />
</intent-filter>
Это объявлено в манифесте из-за того, что я хочу получать трансляции, даже когда мое приложение находится в фоновом режиме.
Все это отлично работало на Android 7.0 и ниже, но когда я запускаю его на Android 8.0, я получаю сообщение об ошибке:
BroadcastQueue: Background execution not allowed: receiving Intent { act=my.application.packageFENCE_RECEIVER_ACTION
Я предполагаю, что это связано с новыми ограничениями для выполнения фона на Android O.
Может кто-нибудь сказать мне, как зарегистрировать широковещательный приемник, который может прослушивать триггеры оповещения для оповещений, когда он находится в фоновом режиме на устройстве Android с API 26.
Сообщите мне Если есть что-то непонятное или мне нужно что-то уточнить.
Заранее спасибо