首页 > 解决方案 > 当应用程序在后台时无法处理点击

问题描述

来自谷歌文档:

在后台应用程序中处理通知消息

当您的应用程序处于后台时,Android 会将通知消息定向到系统托盘。默认情况下,用户点击通知会打开应用启动器。

但我需要处理点击并转发到我的应用程序上的特定活动(当应用程序在后台时)。

class CustomFirebaseMessagingService : FirebaseMessagingService() {


    /*-
        Call this method only when app is foreground.
     
    */
    override fun onMessageReceived(remoteMessage: RemoteMessage?) {

仅当应用程序处于前台时才调用方法 onMessageReceived。

标签: androidfirebase-cloud-messaging

解决方案


Firebase Cloud Messages 支持两种类型的消息:通知消息和数据消息。

当您的应用程序处于后台时,通知消息由操作系统处理。没有什么可以改变的。

可以onMessage做的是发送一条数据消息,无论应用程序是否处于活动状态,该消息都会传递给您的应用程序的处理程序。由于onMessage即使应用程序未处于活动状态也可以调用它,因此它位于FirebaseMessagingService类中而不是 Activity 中。

另请参阅有关在 Android上处理消息的 Firebase 文档。


推荐阅读