0

我想在我收到特殊類型的消息時啓動後臺服務。對於這個我做了以下當接收到特定類型的消息時,Android Firebase啓動服務

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

建立自己的要求添加一個額外的鍵值對,所以你可以檢查onMessageReceived() –

+0

中的密鑰只需打印收到的消息並查看它是否爲「數據」或「通知」。據我所知,如果您從Firebase控制檯發送消息,它將作爲通知發送。 – Dexter

回答

1

建議什麼是發送一個data-只有消息的有效載荷。這是使用Firebase通知控制檯無法實現的。

當使用控制檯,發送的消息被處理爲一個notification消息有效負載,並且僅添加自定義數據data有效載荷被包括在內。但是,在這種情況下,它仍然具有notificationdata消息。

要發送data - 只有消息負載,你需要通過自己的應用程序服務器或using PostmancURL

在數據消息
相關問題