5

Ich schrieb die folgende Methode zum Anzeigen der FCM-Benachrichtigung auf meinem Android 5.1-Gerät. Wenn ich den Code innerhalb eines FirebaseMessagingService austrage, gibt er nur eine Einzeil-Benachrichtigung aus. Wenn ich denselben Code innerhalb meiner Aktivität ausführe, gibt er erweiterbare Benachrichtigungen.BigTextStyle-Benachrichtigungen, die nicht von FirebaseMessagingService erweitert werden

Ich brauche meine langen FCM-Textbenachrichtigungen grundsätzlich, um Benachrichtigungen zu erhalten, anstatt einen Teilbenachrichtigungstext anzuzeigen.

Irgendwelche Kabel?

private void showNotif(String messageBody){ 

    Intent intent = new Intent(this, MainActivity.class); 
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_ONE_SHOT); 

    // Constructs the Builder object. 
    NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(getApplicationContext()) 
     .setSmallIcon(R.drawable.ic_launcher) 
     .setContentTitle(getString(R.string.app_name)) 
     .setContentText(messageBody) 
     .setDefaults(Notification.DEFAULT_ALL) // requires VIBRATE permission 
     .setAutoCancel(true) 
     .setContentIntent(pendingIntent) 
     /* 
      * Sets the big view "big text" style and supplies the 
      * text (the user's reminder message) that will be displayed 
      * in the detail area of the expanded notification. 
      * These calls are ignored by the support library for 
      * pre-4.1 devices. 
      */ 
     .setStyle(new NotificationCompat.BigTextStyle() 
     .bigText(messageBody)); 

    // android.support.v4.app.NotificationManagerCompat mNotifManager = (NotificationManagerCompat) getSystemService(Context.NOTIFICATION_SERVICE); 
    NotificationManager mNotificationManager = 
       (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 
    // mId allows you to update the notification later on. 
    mNotificationManager.notify(0, mBuilder.build()); 
} 
+0

werden Sie Ihre FirebaseMessagingService Auslösen, wenn Ihre Anwendung auf dem Hintergrund ist? – mgcaguioa

+0

ja. Ich habe es in beiden Fällen versucht. Gleiches Ergebnis. –

+0

Silly Frage, aber ist es in beiden Fällen definitiv an der Spitze der Benachrichtigungsleiste? – IanS

Antwort

0

Dies sollte funktionieren. Große Textmeldungen werden im normalen Modus angezeigt, wenn oben weitere Benachrichtigungen angezeigt werden. Versuchen Sie, es beim Testen zu erweitern.

0

Sie müssen creare Benachrichtigung mit dieser Methode https://fcm.googleapis.com/fcm/send und nicht die Feuerbasis Konsole und alle wäre ok

+0

Während dieser Link die Frage beantworten kann, ist es besser, die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz zur Verfügung zu stellen. Nur-Link-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert. – ekad