CountdownTimer:当用户返回上一个活动时,如何从剩余时间重新启动?

时间:2019-03-01 14:37:21

标签: android countdowntimer

我是Android的初学者,这可能确实是一个基本问题。 我正在尝试创建一个CountDownTimer来保持两个活动之间的倒计时。用户可以转到活动B,然后从活动B返回到活动A。 我正在考虑将剩余时间保存在SharedPreferences中。我想知道的是,当用户执行OnBackPressed并将当前剩余时间保存到SharedPreferences中并返回上一个活动时,如何从上一个活动的剩余时间重新启动倒数计时器?

2 个答案:

答案 0 :(得分:1)

我认为这种方法应该可以帮助您:

@Override
public void onResume() { // This will be trigger when your activity is created or come to front
    // Load preference
    // Start timer
}

@Override
public void onStop() { // This will be triggered when your activity goes behind or before your activity destroyed.
   // Cancel timer
   // Save preference
}

这非常简单,只需遵循注释即可。让我知道这是否有帮助

答案 1 :(得分:0)

要获取此信息,您必须有一个单独的线程来计算倒计时内容,并且它将一直运行在您处于活动1或其他活动的天气中。并且该线程应更新活动(检查活动是否可见)。要更新活动,可以有多种方法。

  1. 您可以使用线程并通过广播更新活动
  2. 您可以使用线程并检查活动可见性,如果可见,则相应地进行操作。
  3. 由于您已经在使用共享首选项,因此您也可以通过共享首选项实现相同的目的。您可以使用线程/服务并每隔一秒钟或每秒钟更新共享首选项。然后,当您 onResume 时,回呼该活动。从共享的偏好设置取回值并相应地使用它。

希望这会对您有所帮助。