В настоящее время я обновляю свой проект до targetSdkVersion 26 (Android O), а также мигрирую из GCM в FCM.
В настоящее время у меня есть:
A RegistrationIntentService
который выбирает токен GCM и отправляет этот токен на сервер.
MainActivity
, который проверяет наличие GooglePlayServices
, а затем запускает RegistrationIntentService
.
A MyInstanceIDListenerService
, у которого есть метод onTokenRefresh
, который просто запускает RegistrationIntentService
.
Это было основано на выборке Google .
Чтобы перейти на FCM, мне просто нужно было изменить MyInstanceIDListenerService
для наследования от FirebaseInstanceIdService
, а RegistrationIntentService
теперь использует FirebaseInstanceId
для получения токена.
Кажется, все работает нормально,Я тестировал его в эмуляторе Android O.
Однако я знаю, что Android O ограничивает фоновые сервисы.Итак, мне было интересно, все ли нормально в приложении, которое нацелено на Android O, чтобы запустить RegistrationIntentService
с MainActivity
и MyInstanceIDListenerService
.
Или я должен переместить код RegistrationIntentService
в задачу?быть исполненным WorkManager
?
Спасибо.