创建一个可以在活动/碎片中幸存的倒数计时器

时间:2019-01-04 08:09:13

标签: android android-service

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

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

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

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

我正在考虑两种实现方法:

1)在应用程序类内部创建一个倒数计时器,以使其不受任何活动或片段的限制。 Application类通过LiveData公开结果。

2)创建一个绑定服务类,其中包含倒计时计时器,并通过BroadcastReciever公开结果。

我只想知道哪种方法最好?还是有更好的方法?我听说JobScheduler是针对这种用例的工作吗?

谢谢。

1 个答案:

答案 0 :(得分:2)

您可以创建一个普通的Thread对象,并在其“ run()”方法内部执行“ while(System.currentMilliseconds()