Push sharp:一次又一次地发送相同的消息

Posted

技术标签:

【中文标题】Push sharp:一次又一次地发送相同的消息【英文标题】:Push sharp: Sending same message again and again 【发布时间】:2014-08-08 11:01:48 【问题描述】:

我是 Push Sharp 的新手。 我正在尝试使用 Push Sharp 向 android 设备发送消息。它工作得很好,但问题是 Push Sharp 一次又一次地发送相同的消息。

我的代码是:

AndroidPushBroker = new PushBroker();

var googleKey = CustomConfigurationManager.GetValueFromSection("appSettings", "GoogleServerAccessKey");
            AndroidPushBroker.RegisterGcmService(new PushSharp.Android.GcmPushChannelSettings(googleKey));

            var jsonMessage = "\"InformationId\":\"" + notification.Message + "\",\"badge\":7,\"sound\":\"sound.caf\",\"NotificationType\":\"" + notification.Type.ToString() + "\"";

            GcmNotification androidNotifcation = new GcmNotification().ForDeviceRegistrationId(notification.DeviceId)
                .WithJson(jsonMessage);
            AndroidPushBroker.QueueNotification(androidNotifcation);

问题:当我发送消息“消息 1”然后发送“消息 2”时,它再次发送“消息 1”。我需要从 Queue 中删除项目吗?或者我错过了什么。 ?

注意:我的应用程序中有一个 Push Broker 实例。

【问题讨论】:

【参考方案1】:

我对 PushSharp 也不是很有经验,但我猜你在发送消息后并没有清空通知队列。

尝试在 QueueNotification 调用之后添加以下内容

AndroidPushBroker.StopAllServices();

【讨论】:

感谢 frmi,但这不是问题所在。我终于找到了问题所在。【参考方案2】:

我终于解决了这个问题。 我一次又一次地注册我的 gcm 服务,这导致了重复事件。

AndroidPushBroker.RegisterGcmService(new PushSharp.Android.GcmPushChannelSettings(googleKey));

这应该只调用一次。

【讨论】:

以上是关于Push sharp:一次又一次地发送相同的消息的主要内容,如果未能解决你的问题,请参考以下文章

为啥 CoreBluetooth 一次又一次地发现相同的外设?

如果在消息框中按下“否”,程序会一次又一次地返回消息框?

一次又一次地在新的相同标签中打开一个网址

活动加载一次又一次

使用循环一次又一次地迭代

为啥Android系统一次又一次将相同的内容绘制到画布上