6

我编写了以下方法来在我的 android 5.1 设备上显示 FCM 通知。当我在 FirebaseMessagingService 中运行代码时,它只是给出单行通知,如果我在我的 Activity 中运行相同的代码,它会给出可扩展的通知。

我基本上需要我的长 FCM 文本通知来扩展通知而不是显示部分通知文本。

有什么线索吗?

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());
 }
4

2 回答 2

0

这应该工作。当顶部有其他通知时,大文本通知以正常模式显示。在测试时尝试扩展它。

于 2016-06-30T21:35:47.793 回答
0

您需要使用此方法创建通知https://fcm.googleapis.com/fcm/send而不是使用 firebase 控制台,一切都会好的

于 2016-09-09T13:09:38.197 回答