代码之家  ›  专栏  ›  技术社区  ›  Archie G. Quiñones

创建活动/片段存活的倒计时计时器

  •  1
  • Archie G. Quiñones  · 技术社区  · 7 年前

    我需要实现一种“超时”机制。

    要求给定时间(以毫秒为单位),启动从给定时间开始倒计时的计时器。

    当时间达到零时,必须触发一个动作(如显示对话框)。

    此计时器不能受活动或片段的限制,但应在用户触摸屏幕时重置为给定时间。

    我正在考虑两种方法来实现这一点:

    1)在应用程序类内创建一个倒计时,这样它就不受任何活动或片段的限制。 Application 类通过公开结果 LiveData .

    2)创建包含倒计时计时器的绑定服务类,并通过 BroadcastReciever .

    我只想知道哪种方法最好?或者有更好的方法吗?我听说过 JobScheduler 对于这个用例,这是一项工作吗?

    事先谢谢。

    1 回复  |  直到 7 年前
        1
  •  2
  •   emandt    7 年前

    您可以创建一个普通的线程对象,并在其“run()”方法中执行“while”(system.currentMillissions()<mfixedTime)”,以便在该对象中循环,直到达到并传递了特定的固定时间,但如果您的活动已关闭,则无法以任何方式截取显示触摸事件。