1

如何在 Android 中取回对 Ac​​tivity 的消息回复?假设一个 Activity 要求一个 java 对象(运行线程)做某事并返回答复。java 对象如何知道回复发送消息的活动?我有许多活动,许多对象相互交流。
如何使用 Android 消息实现此功能?我不想在这里使用广播。

4

3 回答 3

7

为此,我们可以使用 Messenger。可以将信使设置为回复路径。在消息内部,它包含它应该返回回复的处理程序。

final Messenger messenger = new Messenger(handler); 
. 
.
msg.replyTo = messenger;  // set the handler of the reply activity.
msg.setData(mBundle);     // if any additional data available put to a bundle
destinationClass.mHandler.sendMessage(msg);



// in destination class

Messenger msger = msg.replyTo;  // get the message sender's details.

Message msg2 = Message.obtain();
msger.send(msg2);                // send the reply message again to the sender
于 2013-09-30T09:44:06.733 回答
1

Handler如果您尝试与线程通信,则可以使用 a 。从文档

Handler 是 Android 系统用于管理线程的框架的一部分。Handler 对象接收消息并运行代码来处理消息。

关于这个主题的一篇不错的文章:AndroidBackgroundProcessing

于 2013-09-26T03:53:33.300 回答
0

一种可能的方法是回调。Java 中的回调(代码解释)或观察者模式http://www.vogella.com/articles/DesignPatternObserver/article.html

于 2013-09-26T03:59:59.023 回答