NotificationCompat.Builder BigTextStyle()。bigText(messageBody)在应用程序背景时无法处理5.1.1

时间:2016-05-27 15:59:02

标签: android notifications google-cloud-messaging

我已在我的应用上实施了FCM通知并且它正在运行,但我想使用BigTextStyle()。bigText在通知中显示所有messageBody。

问题是当应用程序在屏幕中时才会显示所有消息。当应用程序背景时,通知只会显示几个字。

Android的版本设备:5.1.1

希望有所帮助!

以下是截图:

屏幕上的应用程序 enter link description here 应用程序背景 enter link description here

private void sendNotification(String messageBody) {
    Intent intent = new Intent(this, MainActivity.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    PendingIntent pendingIntent = PendingIntent.getActivity(this, 0 /* Request code */, intent,
            PendingIntent.FLAG_ONE_SHOT);



    Uri defaultSoundUri= RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);

    android.support.v4.app.NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
            .setSmallIcon(R.mipmap.ic_launcher)
            .setContentTitle("Essencia café y copas")
            .setStyle(new NotificationCompat.BigTextStyle().bigText(messageBody))
            .setAutoCancel(true)
            .setSound(defaultSoundUri)                
            .setContentIntent(pendingIntent);

    NotificationManager notificationManager =
            (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

    notificationManager.notify(0 /* ID of notification */, notificationBuilder.build());
}

1 个答案:

答案 0 :(得分:0)

可能是因为您的平台不支持大幅面通知。

使用NotificationCompat.BigTextStyle方法时,如documentation中所述:

  

如果平台不提供大格式通知,则此方法无效。用户将始终看到正常的通知视图。

您也可以尝试通过Anatomy of a Notification来涵盖通知的基本部分以及它们如何在不同类型的设备上展示。使用展开式布局

  

您可以选择应用通知应提供的详细信息。他们可以显示消息的前几行或显示更大的图像预览。附加信息为用户提供了更多上下文,并且在某些情况下可以允许用户完整地阅读消息。

除了讨论之外,在此SO帖子中提出的建议解决方案 - Notification Big Text Android GCM使用Notification.BigTextStyle代替NotificationCompat.BigTextStyle可能有所帮助。