需要一点帮助 - 这让我头疼!
我是 ReadItToMe 的开发人员,这是一款可以读出您的消息并让您通过语音回复的应用程序。去年我一直面临和黑客攻击的问题是重复通知。我将以 WhatsApp 为例。
如果我收到一条 WhatsApp 通知,那么快乐的日子,就是一条通知。如果我从不同的聊天中收到另一个.. 我会收到一个群组通知,前一个未读的聊天通知带有新的发布时间,因此您无法检查它是否来自过去,然后是新通知。
我尝试过的解决方案:
通过在通知到达时使用它们的标题、消息和包名称创建通知的哈希码来保持读取通知列表,然后在它们被解除时将它们从列表中删除 (onNotificationRemoved)。但是你知道吗!在上述场景中,所有通知都被删除然后重新发送,因此该解决方案是无用的。
比较时间戳,这不起作用,因为重复的通知有新的时间戳
比较密钥/ID,这些在聊天中永远不会改变,因此它们不是单个消息通知所独有的
还有很多我已经忘记了
检查通知是否是一个组以至少忽略它是行不通的,因为第一个通知始终是一个组。只有当有多个通知时,“群组”实际上是一个包含“2 条新消息”等内容的群组。
有没有人知道任何方法或能想到任何创造性的解决方案来准确确定(80% 的准确率)哪些通知是真正新的,哪些以前发布过?或者这只是在Android上从根本上打破了......