Android FCM-Benachrichtigungsproblem

Ich habe Probleme mit FCM-Benachrichtigungen auf Android. Das Problem tritt nur auf, wenn die App geschlossen ist und nicht ausgeführt wird. Ich versuche, keine Klickaktivität zu erzielen. Ich möchte nicht, dass die App geöffnet wird, und ich möchte nicht, dass die Nachricht verschwindet. Es funktioniert perfekt, wenn die App geöffnet ist und ausgeführt wird. Wenn die App nicht geöffnet ist, erhalte ich immer noch die Benachrichtigung, sie ist jedoch nicht mehrzeilig, sodass ich nur den Beginn der Benachrichtigung sehen kann. Wenn Sie dann auf die Benachrichtigung klicken, wird sie ausgeblendet. Ich habe stundenlang versucht, eine Lösung zu finden, die funktioniert. Hier ist der Code, den ich bisher habe:

private void sendNotification(String messageBody) {

    //Intent intent = new Intent(this, MainActivity.class);
  //  intent.setFlags(Intent.FLAG_ACTIVITY_NO_USER_ACTION);
    //PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent,
         //   PendingIntent.FLAG_UPDATE_CURRENT);

    Uri defaultSoundUri= RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
    NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
            .setSmallIcon(R.mipmap.ic_launcher)
            .setContentTitle("My Car Wash App")
            .setAutoCancel(true)
            .setSound(defaultSoundUri)
            .setContentText(messageBody)
            .setDefaults(NotificationCompat.DEFAULT_ALL)
            .setStyle(new NotificationCompat.BigTextStyle().bigText(messageBody))
            .setPriority(NotificationCompat.PRIORITY_MAX);

    NotificationManager notificationManager =
            (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
    notificationManager.notify(0, notificationBuilder.build());
    }

Jede Hilfe oder Anregungen wäre sehr dankbar.

EDIT *******

Das Problem ist, dass ich die Frage nach weiteren Recherchen schlecht gestellt habe. Jetzt ist mir klar, dass der obige Code nur aufgerufen wird, wenn meine App geöffnet ist.

@Override
    public void onMessageReceived(RemoteMessage remoteMessage) {
        //Displaying data in log
        //It is optional
        Log.i("myStuff", "From: " + remoteMessage.getFrom());
        Log.i("myStuff", "Notification Message Body: " +                         remoteMessage.getNotification().getBody());
        //Calling method to generate notification
        sendNotification(remoteMessage.getNotification().getBody());
} 

onMessageReceived wird nicht aufgerufen, wenn sich die App nicht im Vordergrund befindet. Daher werden die Benachrichtigungen nur dann mehrzeilig angezeigt, wenn die App ausgeführt wird. Es gibt eine Menge Informationen zu diesem Thema, aber ich kann es immer noch nicht herausfinden.

Hier ist mein C # Server Side Code *

var data = new
                    {
                        to = deviceId,
                        notification = new
                        {
                            body = msg,
                            title = "My Car Wash",
                            icon = "myicon"                   
                        },
                       priority = 10
                   };

Notifications funktionieren perfekt unter iOS und perfekt unter Android, wenn die App ausgeführt wird. Ich kann die Meldung einfach nicht korrekt in mehreren Zeilen anzeigen und bin mir nicht sicher, was ich tun soll.

*

Antworten auf die Frage(8)

Ihre Antwort auf die Frage