我有一个包含多个活动的应用程序,我有一个计时器,我在第一个活动中开始。问题是:
当我当前的活动可能与我启动计时器的活动不同时,如何在计时器关闭时获得对当前活动的引用。
我真正想要的是让一个计时器遍历我的所有活动,在它到期时显示一个警告对话框并做一些事情。但由于android的工作方式,这似乎是不可能的。有没有人有其他选择?
我已经尝试过了:
我还有其他选择吗?
编辑:
答案 0 :(得分:0)
将您的计时器实施为singleton。
然后,实现observer模式:
创建一个接口(可能称为AlertListener),该接口由您希望收到警报的每个Activity实现。这个接口应该有一个方法,比如onTimerExpired()。当计时器到期时,此方法应该执行活动所需的任何操作。
在你的timer类中,还保持对当前AlertListener的引用和一个名为“setCurrentActivity(AlertListener currentActivity)”的方法。
在onResume或每个活动的其他方法中,调用MyTimer.setCurrentActivity(this)。
当计时器熄灭时,请调用currentActivity.onTimerExpired()。