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

Android 在大文本通知中是否可以将扩展通知设置为默认值?,android,notifications,android-notifications,android-styles,Android,Notifications,Android Notifications,Android Styles,我跟着这个 在大文本通知部分,他说需要展开查看大文本通知表单,如下图所示: 我想知道,在大文本通知中,我们不能将扩展通知设置为默认通知? 知道的人能不能 如果可以, 请告诉我怎么做 谢谢, 通知的大视图仅在通知打开时显示 扩展,当通知位于 通知抽屉,或当用户使用 手势 所以我的答案是否定的,默认情况下不能扩展它 然而,有一个技巧可以将通知推到列表的顶部,在那里它将被扩展。只需将优先级设置为,您的应用程序的通知就有可能排在首位 Notification noti = new Notificati

我跟着这个

大文本通知
部分,他说需要展开查看
大文本通知
表单,如下图所示:

我想知道,在大文本通知中,我们不能
将扩展通知设置为默认通知?

知道的人能不能

如果可以,

请告诉我怎么做

谢谢,

通知的大视图仅在通知打开时显示 扩展,当通知位于 通知抽屉,或当用户使用 手势

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


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

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)
以下是一个例子:

您可以设置代码

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);

在使用Push Notification V5时,无需对显示多行通知的任何文件进行任何类型的修改,从要发送的对象中删除字段“style”。将自动看到多行通知。欲了解更多信息,请对答案进行投票,询问您的问题。我会帮你的


作为参考,

通过此通知代码,您可以获得图像、大文本或更多

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);

只需设置通知生成器的
setStyle

好的,谢谢。看起来Google only allow Gmail应用程序可以将这个
大文本样式
显示为默认样式,如果它只显示在通知栏上。IMO Gmail不会扩展它的通知,至少在我刚刚测试过的设备上不会(仅限Nexus设备)。顺便说一句,你可以试着把你的通知推到列表的顶部,这样它们就会被扩展。不是100%可靠,但总比什么都不可靠好(我相应地更新了我的答案)。“在列表的顶部,它将被扩展”-是的,你是对的。Android 4.1支持的设备可以显示
大文本样式
。我的Galaxy S3不仅可以展示Nexus设备,还可以展示它。当你停车时,自动应用程序似乎会预先展开。我会警告你不要将通知推到顶部,只是为了让它们展开。您的优先级应该基于UI指南-。否则,您很可能会让您的用户感到不安。您可以通过实现自定义通知和根据需要设置高度来更改它。如果你愿意,我可以写一个例子。@DjDexter请回答让人们知道。如果它真的有用,人们和我也会投票。请阅读这个惊人的答案:我的大文本与小文本重叠。这不是单击展开“notiStyle”的一部分是什么?什么是validateString?NotiStyle是NotificationCompat.BigPictureStyle,ValidateStyle只是检查您的字符串值是否有效。您能把它们也放在这里吗?
notificationBuilder.setStyle(new NotificationCompat.BigTextStyle().bigText("Your Long Text here"))