Android - 如何在通知中显示大文本

时间:2014-05-22 06:48:45

标签: android notifications

我需要在Notifications中实现一个代码,用于显示200个字符的大文本。在这里,我使用了以下代码,但它显示了单行。

       Intent notificationIntent;
       NotificationCompat.Builder mBuilder =
                new NotificationCompat.Builder(context)
                .setSmallIcon(R.drawable.icon)
                .setContentTitle(context.getString(R.string.app_name))
                .setContentText(message)
                .setDefaults(Notification.DEFAULT_ALL)
                .setAutoCancel(true);
        notificationIntent = new Intent(context, Main.class);
        notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP
                | Intent.FLAG_ACTIVITY_SINGLE_TOP);
        PendingIntent pintent = PendingIntent.getActivity(context, 0,
                notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);
        mBuilder.setContentIntent(pintent);
        NotificationManager mNotifyMgr = 
                (NotificationManager) context.getSystemService(NOTIFICATION_SERVICE);
        // Builds the notification and issues it.
        mNotifyMgr.notify(1, mBuilder.build());

3 个答案:

答案 0 :(得分:2)

您可以选择不同的样式用于通知构建器:

在你的情况下,我会使用NotificationCompat.BigTextStyle。可以找到更多详细信息here.

使用此功能时,请不要忘记导入v4支持。

答案 1 :(得分:1)

在我的应用程序中,通知消息是静态的,但不能显示所有的声明。 我解决了通知的子文本属性。

Notification n  = new Notification.Builder(this)
.setContentTitle("Job Tracker Application")
.setContentText("GPS is turned off.")
.setSubText("Please turn on in the settings.")
.setSmallIcon(R.drawable.app_icon)
.setContentIntent(pendingIntent) 
.setAutoCancel(true)
.build();

另一个通知样本已在博客下显示 http://www.objc.io/issue-11/android-notifications.html
https://capdroid.wordpress.com/tag/android-notification/
http://www.tutorialspoint.com/android/android_notifications.htm

答案 2 :(得分:0)

您为大文本添加样式。

Notification notification = new NotificationCompat.Builder(this, CHANNEL_SYNC)
            .setContentTitle(title)
            .setSmallIcon(R.drawable.ic_sync)
            .setStyle(new NotificationCompat.BigTextStyle().bigText(message))
            .setColor(getResources().getColor(R.color.colorPrimaryLight))
            .setContentIntent(pendingIntent)
            .build();