0
我使我的android服務與我的所有活動交流。一切運作良好,但今天,我想嘗試從服務發送消息到所有連接的客戶端。 代碼在IncomingHandlerAndroid - 無法從我的服務向所有客戶端發送消息
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case MSG_1:
Log.i("RpcChannelService", "MSG_1");
//send msg to all clients
Message msgGpsEnable= Message.obtain(null,
RpcChannelService.MSG_1);
for (Messenger client : mClients) {
try {
client.send(msgGpsEnable);
} catch (RemoteException e) {
Log.i("RpcChannelService", "handleMessage:MSG_GPS_ENABLE exception");
}
}
break;
}
}
當我運行/調試此代碼,後通想到這個代碼,程序做一個永遠的循環。 誰能告訴我爲什麼? 非常感謝。
mClients是Messenger陣列存儲所有連接的客戶端。 – 2014-12-13 16:21:25
它在哪裏循環? – pskink 2014-12-13 18:20:01
我的不好。我應該在for循環中創建Message的新實例。 – 2015-01-07 07:00:39