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());
}
werden Sie Ihre FirebaseMessagingService Auslösen, wenn Ihre Anwendung auf dem Hintergrund ist? – mgcaguioa
ja. Ich habe es in beiden Fällen versucht. Gleiches Ergebnis. –
Silly Frage, aber ist es in beiden Fällen definitiv an der Spitze der Benachrichtigungsleiste? – IanS