你好,我有一个线程S和n线程C。 C使用S的Handler上的sendMessage(msg)向S发送请求。 每个客户端C1 ... CN都有一个私有处理程序。 S在其处理程序上接收消息,详细说明请求并希望在指定客户机的私有处理程序上使用sendMessage(risp)发送响应。但他怎么知道C将等待响应的处理程序是什么?客户端C可以在请求消息中插入一个引用其处理程序的接收响应吗?
答案 0 :(得分:1)
发送邮件时设置其replyTo
字段:
msgYouSend.replyTo = new Messenger(yourHandler);
然后你可以像这样回复:
msgYouReceived.replyTo.send(yourReplyMessage)
请参阅http://developer.android.com/reference/android/os/Message.html
上的replyTo
doc
答案 1 :(得分:0)
Message yourReplyMessage=new Message();
Bundle b=new Bundle();
b.putParcelable(keyStringResponse, risp);
yourReplyMessage.setData(b);
try { msgYouReceived.replyTo.send(yourReplyMessage);
} catch (RemoteException e) { }
我的解决方案......你觉得这样可以吗?