我正在使用 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() 方法中做一些任务,由于这个多次调用创建了多个线程。
请就这个问题给我建议。