1

我正在使用 GCM 做示例 PoC。我从我的设备向 gcm 服务器发送注册请求并获得注册 ID 以成功注册。我将所有注册 ID 存储在我的应用服务器数据库中。我只将数据从我的应用服务器发送到 GCM 一次到我的所有注册 ID。但是,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() 方法中做一些任务,由于这个多次调用创建了多个线程。

请就这个问题给我建议。

4

1 回答 1

0

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

于 2012-12-24T10:28:48.943 回答