Android firebase在收到特定类型的消息时启动服务

时间:2017-04-09 10:01:27

标签: android firebase android-service firebase-cloud-messaging

我想在收到特殊类型的邮件时启动后台服务。为此,我正在做以下

public class MyFirebaseMessagingService extends FirebaseMessagingService {
    @Override
    public void onMessageReceived(RemoteMessage remoteMessage) {
        if(remoteMessage.getData().get("message").equals("something"){
              //start service
        }
    }
}

我的问题是,它只适用于应用是前景的,但是当应用处于后台onMessageReceived时不会触发。而不仅仅是显示通知。

我想要的是在应用程序处于后台时禁用通知,而不是启动服务。

我看过其他答案是这样的,其中一些建议要完成这个我需要发送data-message。我正在从firebase控制台发送数据消息,但它无法正常工作。

1 个答案:

答案 0 :(得分:1)

建议的是发送data - 消息有效负载。使用Firebase通知控制台无法实现此目的。

使用控制台时,发送的消息被视为notification消息有效负载,仅添加自定义数据将包含data有效负载。但是,在这种情况下,它仍然包含notificationdata条消息。

要发送data - 消息有效内容,您需要通过自己的App Server或using PostmancURL自行构建请求