当前位置: 首页 > 知识库问答 >
问题:

为什么果冻豆不在通知中显示第二行?

公羊涛
2023-03-14

我目前正在研究Android支持包v4 Rev 10的NotificationCompat特性。文档中说,'set contenttext()'显示通知中的第二行。对于API8到API15都是如此。但是,如果我尝试在API16中使用此方法,我的通知将错过第二行。我只看到标题,没有看到第二行。添加多行是没有问题的(使用'addline()')。

以下是我使用的NotificationCompat.Builder的代码:

private NotificationCompat.Builder buildNormal(CharSequence pTitle) {
    NotificationCompat.Builder builder = new NotificationCompat.Builder(
            getSherlockActivity());

    builder.setAutoCancel(true).setDefaults(Notification.DEFAULT_ALL);
    // set the shown date
    builder.setWhen(System.currentTimeMillis());
    // the title of the notification
    builder.setContentTitle(pTitle);
    // set the text for pre API 16 devices
    builder.setContentText(pTitle);
    // set the action for clicking the notification
    builder.setContentIntent(buildPendingIntent(Settings.ACTION_SECURITY_SETTINGS));
    // set the notifications icon
    builder.setSmallIcon(android.R.drawable.stat_sys_download_done);
    // set the small ticker text which runs in the tray for a few seconds
    builder.setTicker("This is your ticker text.");
    // set the priority for API 16 devices
    builder.setPriority(Notification.PRIORITY_DEFAULT);
    return builder;
}

如果我想添加多行并显示通知,我使用以下代码

NotificationCompat.Builder normal = buildNormal("This is an Expanded Layout Notification.");
    NotificationCompat.InboxStyle big = new NotificationCompat.InboxStyle(
            normal);

    // summary is below the action
    big.setSummaryText("this is the summary text");
    // Lines are above the action and below the title
    big.addLine("This is the first line").addLine("The second line")
            .addLine("The third line").addLine("The fourth line");

    NotificationManager manager = getNotificationManager(normal);
    manager.notify(Constants.NOTIFY_ID, big.build());

提前感谢您的帮助!

共有1个答案

廖弘量
2023-03-14

这是Jelly Bean想要的特性吗?setContentText被忽略了,还是我遗漏了什么?

setContextText()的值在折叠状态下应该是可见的(例如,如果展开,两个手指向上滑动,或者不是最上面的通知)。它将被处于展开状态的notificationcompat.inboxstyle替换,给定上面的代码。

 类似资料:
  • 问题内容: 我查看了android文档,并查看了StackOverflow中的所有答案,但是,我似乎无法理解为什么我尝试显示的通知没有显示。每当我单击按钮时,应用程序就会崩溃,而不是显示通知,而有人可以告诉我为什么会发生这种情况吗? 这是堆栈跟踪 问题答案: 根据错误消息,您不能将其用作通知通道的ID-该名称专门为未定位API 26或更高版本的应用程序保留,用于发布未连接任何通道的所有通知。 您可

  • 我正在使用媒体编解码器在jelly-bean上获取. mp4文件并在logcat中获取此文件 谁能告诉我这是什么吗?如何解决呢?

  • 通知通道的新代码在旧的和最新的奥利奥设备上运行良好,但当我在API 28(android P)设备上测试时,它没有在通知栏中显示通知,这是我用来启动前台通知的行。

  • 我的应用程序生成了一个通知,但我为该通知设置的图标没有显示。取而代之的是一个白色的方块。 我试过调整图标的png大小(尺寸720x720,66x66,44x44,22x22)。奇怪的是,当使用较小的尺寸时,白色的正方形更小。 我搜索了这个问题,以及生成通知的正确方法,从我读到的代码来看,应该是正确的。不幸的是,事情并不像他们应该的那样。

  • 例如,如果安装龙卷风与pip像这样: 不会返回列表中的tornado包,它只显示: 另外,当我运行时,它会返回: 出什么事了?

  • 问题内容: 此代码有效: 它显示了图像。 现在,此代码可以编译,但不会显示图像,我也不知道为什么,因为它是同一类的代码: 问题答案: 该变量photo是一个局部变量,在实例化类后会获取垃圾。保存对照片的引用,例如: