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