В соответствии с https://pub.dev/packages/firebase_messaging#receiving -messages Пакет Notificationaitons Firebase от Flutter не может получать сообщения данных без уведомления при завершении работы приложения.
Чтобы обойти это, я решил написать android сервис для получения указанных сообщений и помещения их в SQL Lite базу данных при получении. К которому затем можно обратиться из приложения флаттера.
Я зарегистрировал службу в AndroidManifest. xml следующим образом:
<service android:name=".NotificationService"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</service>
Затем я создал NotificationsService. java следующим образом :
public class NotificationService extends FirebaseMessagingService {
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
super.onMessageReceived(remoteMessage);
Log.d("Message", "received");
Map<String, String> data = remoteMessage.getData();
Однако, когда я получаю сообщение на моем тестовом устройстве, журнал не записывается в журнал отладки. Я также пытался записать строку в файл при получении сообщения в тех случаях, когда приложение закрыто, но все равно нет радости.
Есть идеи, люди?
Спасибо, Роб.