将消息从一个活动发送到另一个活

时间:2013-04-15 11:35:12

标签: android android-activity handler message

我的活动(Activity_A)handler且来自外部receiving messages的{​​{1}}。问题是library启动了活动Activity_A。启动Activity_B后,我Activity_BActivity_A receives a message我要“发送”给handler

怎么做?

我无法将Activity_Bhandler移至Activity_A,因为收到的部分Activity_B必须由messages

管理

我想避免使用Activity_A.。 在创建global/static variables时,是否有可能以某种方式保存Activity_AActivity_B的引用?如何从intentmessage发送Activity_A

这里的一个重点是,是的,我想将一个对象从一个活动传递到另一个活动,但不是在我创建新活动的那一刻(将一个对象传递到一个包中)。每当我从外部库收到消息时,我都想异步地执行此操作。

2 个答案:

答案 0 :(得分:8)

Activity_A

String msg = "message";
Intent i = new Intent(Activity_A.this, Activity_B.class);
i.putExtra("keyMessage", msg);
startActivity(i);

Activity_B

Bundle extras = getIntent().getExtras();
String msg = extras.getString("keyMessage");

希望它有所帮助。

更新:
我描述了两个活动的互动过程。但是如果消息来自库,当Activity_B运行时 - 此方法不相关。
尝试将处理程序移动到某些Service,这将在您需要时运行。从Activity_AActivity_B您可以定期查询服务“传来新消息?”使用Timer

答案 1 :(得分:0)

应用程序不能以这种方式工作。如果您希望活动完成某项工作,则必须对用户可见。 你可以考虑服务来做后台工作(即传感器处理),或制作活动B片段 - 然后活动A仍然在前景,而它的片段对用户是可见的。