我正在使用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()方法中执行任务,由于多次调用多个线程被创建。
请就此问题向我提出建议。
答案 0 :(得分:0)
我的服务器端代码存在问题。单个注册ID在我的有效负载数据的设备列表中多次添加。