Android 通过处理程序向尚未创建的活动发送消息

Android 通过处理程序向尚未创建的活动发送消息,android,multithreading,android-activity,handler,message,Android,Multithreading,Android Activity,Handler,Message,我正在开发一个Android应用程序。此应用程序由两个活动组成 主要活动 辅助活动(从主活动调用) 我有一个线程,它使用处理程序机制将消息传递给主活动,该活动显示一个图像 我希望这两个活动中都显示此图标。但是,如果我确信主活动已经创建,我就不能对辅助活动说同样的话。所以,如果我尝试将消息从线程发送到尚未创建的活动,会发生什么情况 我希望这两个活动中都显示此图标。但是,如果我确信主活动已经创建,我就不能对辅助活动说同样的话 一次只能有一个活动处于活动状态,因此您需要将公共数据保存在某种类型(如

我正在开发一个Android应用程序。此应用程序由两个活动组成

  • 主要活动
  • 辅助活动(从主活动调用)
我有一个线程,它使用
处理程序
机制将消息传递给主活动,该活动显示一个图像

我希望这两个活动中都显示此图标。但是,如果我确信主活动已经创建,我就不能对辅助活动说同样的话。所以,如果我尝试将消息从线程发送到尚未创建的活动,会发生什么情况

我希望这两个活动中都显示此图标。但是,如果我确信主活动已经创建,我就不能对辅助活动说同样的话

一次只能有一个活动处于活动状态,因此您需要将公共数据保存在某种类型(如a)中,或者您可以使用全局变量,或者您可以在意图中来回传递此信息


无论您选择哪种方法,它都需要在下一个活动开始时可用。我建议共享引用,因为它们相对简单,在应用程序关闭时不会被删除。

我知道,@Sam。但我希望如果我在主要活动中,消息到达,图标会显示出来,如果我在次要活动中,消息到达,图标也会显示出来。你可以创建一个自定义侦听器。当您选择一个新图标到任何活动中并有您的侦听器时,它将“广播”事件。《开发者指南》中使用了片段,但原理是一样的。谢谢你,@Sam。你能给我更多关于这个解决方案的细节吗?当然可以,但是如果不看你的代码,很难提供细节。但是,您理解链接中的代码吗?基本方法是创建监听器接口,创建监听器对象,将这些监听器对象的引用传递给事件,最后在事件发生时执行每个监听器的回调“当活动通过接口接收回调时,它可以根据需要与布局中的其他片段共享信息。”因此,我不明白如何使用此机制与其他活动共享信息。