在GCMBaseIntentService方法中多次调用OnMessage



我正在使用GCM做示例PoC。我从我的设备向 gcm 服务器发送注册请求,并获得了成功注册的注册 ID。我将所有注册 ID 存储在我的应用服务器数据库中。我只将数据从我的应用程序服务器发送到我的所有注册 ID 一次到 GCM。但是,GcmBaseIntentService 的 OnMessage() 方法调用了多次。

这是我发送数据时对我的应用程序服务器的 GCM 响应

{
    "multicast_id": 5986417894970376000,
    "success": 7,
    "failure": 0,
    "canonical_ids": 0,
    "results": [
        {
            "message_id": "0:1355230384617663%9fa953f8f9fd7ecd"
        },
        {
            "message_id": "0:1355230384617914%9fa953f8f9fd7ecd"
        },
        {
            "message_id": "0:1355230384617911%9fa953f8f9fd7ecd"
        },
        {
            "message_id": "0:1355230384617987%9fa953f8f9fd7ecd"
        },
        {
            "message_id": "0:1355230384617909%9fa953f8f9fd7ecd"
        },
        {
            "message_id": "0:1355230384617985%9fa953f8f9fd7ecd"
        },
        {
            "message_id": "0:1355230384618032%9fa953f8f9fd7ecd"
        }
    ]
}

我正在使用 AsynTask 在我的 onMessage() 方法中做一些时间任务,由于多次调用创建了多个线程。

请就此问题向我提供建议。

我的服务器端代码有问题。在我的有效负载数据的设备列表中多次添加单个注册 ID。

最新更新