android - 显示具有单个 ID 的多条通知消息

标签 android

我有几个同时发生的事件。我需要以串行方式向用户显示多条通知消息。

理想的情况是,每条通知消息将轮流显示,持续时间约为 2 秒。

我能得到的最接近的是使用多个ID。但是,使用多个 id 会产生我不想要的副作用。最终状态栏上会同时显示多条通知消息。

这会让用户的状态变得困惑,这不是我的本意。

使用多个 ID(最终会显示多条杂乱消息)

int id = 0;
private void sendNotification(String message) {
    NotificationCompat.Builder mBuilder =
            new NotificationCompat.Builder(this.getActivity())
            .setSmallIcon(R.drawable.ic_notification)
            .setContentTitle("MyApp")
            .setTicker(message)
            .setAutoCancel(true)
            .setOnlyAlertOnce(true)
            .setDefaults(Notification.DEFAULT_SOUND)
            .setContentText(message);
    final NotificationManager mNotificationManager =
            (NotificationManager) this.getActivity().getSystemService(Context.NOTIFICATION_SERVICE);
    mNotificationManager.notify(id++, mBuilder.build());   
}

但是,如果我不使用多个 id,而是使用单个 id,如果同时发出多个通知请求,则只会显示 1 条消息。每条消息都会轮流显示。没有消息丢失。

最佳答案

如果您在状态栏中只需要一个 Notification,但您希望该消息指示应用程序的所有通知,那么您需要通过以下方式管理单个 Notification:更改消息。

每次您使用 sendNotification(message) 重新发布 Notification 时,Notification ticker 文本都会更新.

例如,如果您的假设收件箱中有一个项目通知,您可以发布如下消息:

Message from Joe.

当您收到多条新消息时,将其更改为:

You have (n) messages.

当用户按下通知时,您应该重定向到Activity,该 Activity 以ListViewGridView之类的方式显示所有内容,显示您的所有消息

关于android - 显示具有单个 ID 的多条通知消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15953195/

相关文章:

android - 磁盘缓存中的加密 Picasso android

android - 当到达列表末尾时自动在 Android ListView 中加载数据

android - 在 Android 函数中设置 addTextChangedListener

java - Android应用程序无法将数据写入Firebase数据库

java - android 上的语言支持

android - 升级到 kotlin RC1 (1.0.0-rc-1036) 后的 java.lang.IncompatibleClassChangeError

android - 如何从我的应用程序发送带有下划线或粗体文本的邮件?

android - 无法获取提供者 com.facebook.internal.FacebookInitProvider : java. lang.ClassNotFoundException

android - 回收站 View 位置

android - Recyclerview 不显示来自 Firebase Kotlin 的数据