【问题标题】:Showing Different Notification on Android Device and Pebble在 Android 设备和 Pebble 上显示不同的通知
【发布时间】:2017-01-24 07:26:51
【问题描述】:

当我使用 WhatsApp 或 Telegram 收到 N 条消息时,Android 上的通知会显示“N 条新消息”(并且可以展开)。

  • Telegram 在 Android 上显示带有contentText“7 条新消息”的通知。 我已经成功地做到了

但是,在我的 Pebble Time 上,最后一条通知是最后一条消息的字符串,而不是“7 条新消息”。

  • 在 Pebble 上,它显示第 7 条(最后一条)消息(被删减的部分是电话号码)。 这就是我想要的

我正在尝试开发类似的功能,但没有成功。我的 Android 上的通知正确显示(“N 条新消息”),但在 Pebble Time 上,它是相同的(也是“N 条新消息”,我希望它是第 N 条消息)。

  • 我在 Pebble 上的应用程序。这不是我想要的。

我尝试调用两次.notify(一个包含“N 条新消息”,另一个包含最后一条消息)并立即调用.cancel 后者,但 Pebble Time 只显示第一个。

如果我没有在第二个通知上调用 .cancel,我的 Pebble 将显示我想要的但在 Android 和 Pebble 上都会有 2 个通知(我不想要)。

如何实现类似 WhatsApp 和 Telegram 的功能?

更新:

这是我使用的sn-p(我使用了不同的通知ID)

NotificationCompat.Builder nb = new NotificationCompat.Builder();
...
nb.setContentText("2 new messages");
notificationManager.notify(1, nb.build());

nb.setContentText("B");
notificationManager.notify(2, nb.build());
notificationManager.cancel(2);

【问题讨论】:

    标签: android pebble-watch


    【解决方案1】:

    因为您对两个通知项使用相同的 id。您可以尝试为每个节目通知项使用不同的 id。

    来自 Android 文档:https://developer.android.com/reference/android/app/NotificationManager.html#notify(int, android.app.Notification)

    id:此通知的唯一标识符 应用。

    【讨论】:

    • 嗨@asdcvf,我确实使用了不同的通知ID,但无济于事。我已经更新了原来的问题。
    • 为什么需要调用cancel()函数,我觉得你应该去掉cancel()函数,这样你的app会显示2个通知项。
    • b-但是...我不想在 Android 上显示 2 个通知项。让我好奇的是 WhatsApp 和 Telegram 都能做到。
    • 你想像whatsapp这样对通知进行分组吗?
    • 如果有 > 1 条消息,我希望它们在 Android 上进行分组。但是,在 Pebble 上,我希望它们一一排列(这样用户就可以阅读真正的消息,而不是“N 条新消息”)。我已经成功实现了分组消息部分,但 Pebble 部分没有成功。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多