2

我有一个多活动应用程序。假设我在活动 A 中为某种类型的事件设置了一个侦听器,但随后在事件触发侦听器之前切换到不同的活动 B(在同一应用程序中)。那个监听器的状态是什么?它总是被破坏吗?还是取决于事件的类型?还是取决于监听器是否设置在活动 A 的主 UI 线程中?还是其他一些条件?

编辑:我问的原因是我希望在我的应用启动屏幕开始时询问各种应用内购买项目的购买状态。这涉及煽动一些代码并为“ok_here_is_the_answer()”设置一个侦听器。问题是我担心得到答案可能需要比启动屏幕活动的持续时间更长的时间。在这种情况下,我是否必须在我的应用程序的第二个活动中重新开始?

4

2 回答 2

1

如果您的侦听器是在其中创建的并且与它的上下文紧密相关,那么当活动即进入后台Activity A时它将被破坏。pause

如果您想要执行应该跨活动生存的操作,您可以在application context或 在专用的service.

于 2013-03-04T11:26:11.260 回答
0

这可能不是您问题的答案,但出于许多充分的理由,您不应该使用启动活动(甚至启动启动)。我建议您改用全屏对话框,这也可以解决您的问题。

但是关于你的问题,这取决于我们在谈论什么样的听众?任何涉及上下文的事情都结束了。处理程序、线程等仍在运行(afaik)。

于 2013-03-04T11:15:22.177 回答