嗨,伙计,我有一个线程 S 和 n 个线程 C。C 使用 S 的 Handler 上的 sendMessage(msg) 向 S 发送请求。每个客户端 C1...CN 都有一个私有处理程序。S 在他的处理程序上接收消息,详细说明请求并希望在指定客户端的私有处理程序上使用 sendMessage(risp) 发送响应。但是他怎么知道 C 等待响应的处理程序是什么?客户端 C 可以在请求消息中插入一个引用他的处理程序在哪里接收响应?
问问题
193 次
2 回答
1
发送消息时设置其replyTo
字段:
msgYouSend.replyTo = new Messenger(yourHandler);
然后你可以这样回复:
msgYouReceived.replyTo.send(yourReplyMessage)
请参阅http://developer.android.com/reference/android/os/Message.htmlreplyTo
上的文档
于 2012-09-07T08:39:57.277 回答
0
Message yourReplyMessage=new Message();
Bundle b=new Bundle();
b.putParcelable(keyStringResponse, risp);
yourReplyMessage.setData(b);
try { msgYouReceived.replyTo.send(yourReplyMessage);
} catch (RemoteException e) { }
这是我的解决方案...您认为可以吗?
于 2012-09-10T12:26:55.620 回答