Я написал код с FirebaseMessagingService для чтения уведомлений.Приложение является частью Android и частично реагировать родной.ПРОБЛЕМА: вызывается FirebaseMessagingService onCreate (), но обратный вызов onMessageReceived не запускается, даже когда приложение находится на переднем плане.Более того, во всех уведомлениях есть данные.
Это код службы обмена сообщениями Firebase, который я написал.
package com.lockquick;
import android.content.Context;
import android.content.Intent;
import android.media.RingtoneManager;
import android.support.v4.content.LocalBroadcastManager;
import android.widget.Toast;
import com.google.firebase.messaging.FirebaseMessagingService;
import com.google.firebase.messaging.RemoteMessage;
import com.google.firebase.messaging.FirebaseMessagingService;
public class NotificationService extends FirebaseMessagingService {
private LocalBroadcastManager broadcaster;
@Override
public void onCreate() {
Toast.makeText(getApplicationContext(), "NotificationService created", Toast.LENGTH_SHORT).show();
//This part is working fine
broadcaster = LocalBroadcastManager.getInstance(this);
}
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
Intent intent = new Intent("MyData");
String s= remoteMessage.getData().get("Type");
// This part is not working.
Toast.makeText(getApplicationContext(), "onMessageReceived called" + s, Toast.LENGTH_SHORT).show();
if(s.equals("S")){
intent.putExtra("s", remoteMessage.getData().get("S"));
broadcaster.sendBroadcast(intent);
}
}
}
Я запускаю службу обмена сообщениями Firebase из собственного модуля реагирования.
// Notificatons test
LocalBroadcastManager.getInstance(getReactApplicationContext()).registerReceiver((mMessageReceiver),
new IntentFilter("MyData")
);
getReactApplicationContext().startService(new Intent(this.getReactApplicationContext(), NotificationService.class));