可以在大文本通知中将扩展通知设置为默认值吗?

问题描述 投票:37回答:5

我跟着这个Sample Code

Big Text Notifications部分,他说需要扩展才能看到Big text notification形式,如下图所示:

我想知道我们不能set Expanded Notification as default in Big Text Notifications?

知道它的人是否可以,

如果能,

请告诉我怎么做,

谢谢,

android notifications android-notifications android-styles
5个回答
46
投票

documentation states

通知的大视图仅在通知展开时出现,当通知位于通知抽屉的顶部时,或者当用户使用手势展开通知时,会发生通知。

所以我的答案是否定的,默认情况下你不能扩展它。

然而,有一个技巧可以将通知推送到列表的顶部,在那里它将被扩展。只需将优先级设置为Notification.PRIORITY_MAX,您的应用程序通知可能会将其设置为顶部。


12
投票
Notification noti = new Notification.Builder()
... // The same notification properties as the others
.setStyle(new Notification.BigPictureStyle().bigPicture(mBitmap))
.build();

你改变了

.setStyle(new NotificationCompat.BigTextStyle().bigText(th_alert))

随着公告

notification = new NotificationCompat.Builder(context)

这是一个例子:

enter image description here您可以设置代码

Intent intent = new Intent(context, ReserveStatusActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
NotificationManager notificationManager =
            (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
intent = new Intent(String.valueOf(PushActivity.class));
intent.putExtra("message", MESSAGE);
TaskStackBuilder stackBuilder = TaskStackBuilder.create(context);
stackBuilder.addParentStack(PushActivity.class);
stackBuilder.addNextIntent(intent);
// PendingIntent pendingIntent =
stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);

// android.support.v4.app.NotificationCompat.BigTextStyle bigStyle = new     NotificationCompat.BigTextStyle();
// bigStyle.bigText((CharSequence) context);

notification = new NotificationCompat.Builder(context)
    .setSmallIcon(R.mipmap.ic_launcher)
    .setContentTitle(th_title)
    .setContentText(th_alert)
    .setAutoCancel(true)
 // .setStyle(new Notification.BigTextStyle().bigText(th_alert)  ตัวเก่า
 // .setStyle(new NotificationCompat.BigTextStyle().bigText(th_title))
    .setStyle(new NotificationCompat.BigTextStyle().bigText(th_alert))
    .setContentIntent(pendingIntent)
    .setNumber(++numMessages)
    .build();

notification.sound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
notificationManager.notify(1000, notification);

0
投票

在使用推送通知V5时,无需在任何文件中进行任何类型的修改以显示多行通知,从您要发送的对象中删除字段“样式”。将自动显示多行通知。有关更多信息,请提供答案,询问您的问题。我会帮你的。

供参考,visit this question


0
投票

从此通知代码中您可以获得图像,大文本或更多文本。

NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context);
            if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                mBuilder.setSmallIcon(R.drawable.small_logo);
                mBuilder.setColor(Color.parseColor("#D74F4F"));
            } else {
                mBuilder.setSmallIcon(icon);
            }

            mBuilder.setTicker(title).setWhen(when);
            mBuilder.setAutoCancel(true);
            mBuilder.setContentTitle(title);
            mBuilder.setContentIntent(intent);
            mBuilder.setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION));
            mBuilder.setLargeIcon(BitmapFactory.decodeResource(context.getResources(), icon));
            mBuilder.setContentText(msg);
            mBuilder.setPriority(Notification.PRIORITY_MAX);
            if (Utils.validateString(banner_path)) {
                mBuilder.setStyle(notiStyle);
            } else {
                mBuilder.setStyle(new NotificationCompat.BigTextStyle().bigText(msg));
            }

            Notification noti = mBuilder.build();
            notificationManager.notify(0, noti);

0
投票
notificationBuilder.setStyle(new NotificationCompat.BigTextStyle().bigText("Your Long Text here"))

只是你的通知建设者的setStyle

© www.soinside.com 2019 - 2024. All rights reserved.