我想在收到特殊类型的邮件时启动后台服务。为此,我正在做以下
public class MyFirebaseMessagingService extends FirebaseMessagingService {
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
if(remoteMessage.getData().get("message").equals("something"){
//start service
}
}
}
我的问题是,它只适用于应用是前景的,但是当应用处于后台onMessageReceived
时不会触发。而不仅仅是显示通知。
我想要的是在应用程序处于后台时禁用通知,而不是启动服务。
我看过其他答案是这样的,其中一些建议要完成这个我需要发送data-message
。我正在从firebase控制台发送数据消息,但它无法正常工作。
答案 0 :(得分:1)
建议的是发送data
- 仅消息有效负载。使用Firebase通知控制台无法实现此目的。
使用控制台时,发送的消息被视为notification
消息有效负载,仅添加自定义数据将包含data
有效负载。但是,在这种情况下,它仍然包含notification
和data
条消息。
要发送data
- 仅消息有效内容,您需要通过自己的App Server或using Postman或cURL自行构建请求