我有一个多活动应用程序。假设我为活动A中的某种类型的事件设置了一个侦听器,但在事件触发侦听器之前切换到另一个活动B(在同一个应用程序中)。该听众的状态是什么?它总是被摧毁吗?或者它取决于事件的类型?或者它取决于是否在活动A的主UI线程中设置了监听器?还是其他一些条件?
编辑:我问的原因是我希望在应用程序的启动画面开始时询问各种应用内购买商品的购买状态。这包括煽动一些代码并为#34; ok_here_is_the_answer()"设置一个监听器。问题是我担心得到答案的时间可能比启动画面的持续时间长活动。在这种情况下,我是否必须在我的应用程序的第二个活动中重新开始?
答案 0 :(得分:1)
如果您的监听器是在Activity A
内创建的并且与其上下文紧密相关,那么当活动pause
即转到后台时,它将被销毁。
如果您希望执行跨越活动的操作,可以在application context
或专用的service
中进行定义。
答案 1 :(得分:0)
这可能不是您问题的答案,但您不应该使用启动活动(甚至是启动)for many good reasons。我建议您使用全屏对话框,这也可以解决您的问题。
但关于你的问题,这取决于我们所谈论的是什么样的听众?涉及上下文的任何事情都已完成。处理程序,线程等仍在运行(afaik)。