Мое приложение использует уведомления для общения между пользователями. В частности, я настроил службу обмена сообщениями Firebase в приложении для обработки и отправки, и получения:
<service
android:name=".WeGrokMessagingService"
android:enabled="true"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
</intent-filter>
</service>
Все работает нормально, пока приложение для получателя сообщения находится на переднем плане, а когда нет , уведомление появляется в системном трее. Все идет нормально. Когда получатель нажимает на сообщение, я хочу создать то же сообщение, которое отправил отправитель, но я не уверен, как go сообщить об этом. То, что у меня есть, не работает; сообщение не получено приложением:
// Set up intent for when user taps the notification.
Intent notifyIntent = new Intent(this, WeGrokMessagingService.class);
pendingIntent = PendingIntent.getService(this, SEND_MESSAGE, notifyIntent, PendingIntent.FLAG_UPDATE_CURRENT);
RemoteViews remoteViews = new RemoteViews(getPackageName(), R.layout.message_dialog);
remoteViews.setOnClickPendingIntent(R.layout.message_dialog, pendingIntent);
Я подозреваю, что проблема в последних двух строках выше. message_dialog - это макет, используемый при отправке уведомления. Итак, что не так с моим кодом? Я посмотрел на похожие вопросы и ответы по переполнению стека, но, похоже, ничего не подходит.