【问题标题】:Android Notifications - RemoteInput uses the same intent for every messageAndroid 通知 - RemoteInput 对每条消息使用相同的意图
【发布时间】:2018-07-16 08:28:08
【问题描述】:

几个月前,我们为 Android 7 实现了直接回复功能,因此用户可以通过收到的推送通知回复聊天消息。为此,我们利用了支持库并使用了RemoteInput,但发现了一个巨大的错误。

当用户收到 2 个不同聊天的推送通知并回复他第一个收到的消息时,该消息将发送给后面消息的用户。即使您收到多条消息,同样的问题仍然存在。

这是使用的具体代码link

是我的实现有误还是平台错误?

【问题讨论】:

  • 嗨@TormundThunderfist。如果您将代码复制粘贴到您的帖子中会更好,以便社区能够立即看到代码。另外,如果链接断开,它在这里已经安全且可见。干杯!
  • 不知道,但过去发现大多数 PendingIntent/Broadcast 缓存问题可以通过以下方式解决: 1. 在 getBroadcast 中添加唯一请求代码而不是示例中的 100 2. 或添加PendingIntent 的唯一字段,例如 'time' = System.currentTimeMillis()
  • @Elletlar 带有请求代码的解决方案最终成为最易于访问的解决方案。请将您的解决方案作为正确答案发布,以便我可以相应地标记它
  • 太棒了。很高兴听到它正在工作。 :) :) :) 解决方案已发布。干杯。

标签: android firebase firebase-cloud-messaging android-notifications android-support-library


【解决方案1】:

解决方案是设置唯一的请求代码来保留待处理的意图:

public static PendingIntent getBroadcast (Context context, 
    int requestCode, 
    Intent intent, 
    int flags)

来自文档:

int:发件人的私人请求代码

更多详细信息: What is a request code used for

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-14
    • 1970-01-01
    • 2020-10-18
    • 1970-01-01
    • 2014-03-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多