特別な種類のメッセージを受信したときにバックグラウンドサービスを開始します。このために、私は以下の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コンソールからデータメッセージを送信していますが、動作していません。
あなたのデータメッセージ内の1つの余分なキーと値のペアを追加しますので、 onMessageReceived()内のそのキーを確認することができます –
メッセージを受信し、それが "データ"か "通知"かどうかを確認してください。私が覚えている限り、Firebaseコンソールからメッセージを送信すると通知として送られます。 – Dexter