OnMessage在GCMBaseIntentService方法中多次调用?

时间:2012-12-12 05:40:55

标签: android google-cloud-messaging

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

这是我发送数据时对我的appserver的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()方法中执行任务,由于多次调用多个线程被创建。

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

1 个答案:

答案 0 :(得分:0)

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