Как передать fcm push-уведомление, когда приложение убито, не используя WakefulBroadcastReceiver, как его объявлено в 26.1.0? - PullRequest
0 голосов
/ 07 января 2019

Я хочу вызвать какую-либо службу из своего приложения, когда приложение получает уведомление, когда приложение находится в фоновом режиме или уничтожено.

Ранее я использовал WakefulBroadcastReceiver для обработка таких уведомлений, но это устарело сейчас. Может кто-нибудь помочь с этим?

Спасибо заранее. Развеселить

Ответы [ 2 ]

0 голосов
/ 07 января 2019

просто создайте сервис, продлите FirebaseMessagingService и переопределите onMessageReceived

class MyFirebaseMessagingService : FirebaseMessagingService() {
  override fun onMessageReceived(remoteMessage: RemoteMessage?) {
    Log.d(TAG, "From: ${remoteMessage?.from}")
  }
}

добавить услугу в манифест

<service android:name=".MyFirebaseMessagingService">
    <intent-filter>
        <action android:name="com.google.firebase.MESSAGING_EVENT" />
    </intent-filter>
</service>

официальный документ

0 голосов
/ 07 января 2019

Использовать JobScheduler

Начиная с Android O, ограничения проверки фона делают этот класс более бесполезным. (Обычно небезопасно запускать службу с момента получения широковещательной рассылки, поскольку у вас нет никаких гарантий того, что ваше приложение находится на переднем плане в данный момент и, следовательно, разрешено это делать.) Вместо этого разработчики должны использовать * 1004. * android.app.job.JobScheduler , чтобы запланировать задание, и для этого не требуется, чтобы приложение удерживало блокировку включения при этом (система позаботится о сохранении блокирования включения для задания).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...