我有活动和服务。 我想在服务和活动中开始倒数计时器。
当我关闭活动时,服务中的计时器会继续在后台运行。
当我重新打开活动时,我希望从服务的计时器中获取剩余时间,并在活动中启动一个新的计时器并保持相同的时间。我怎么能做到这一点?
答案 0 :(得分:0)
执行不好。您正在运行服务只是为了运行计时器以显示重新启动应用程序的剩余时间?
相反,您可以执行以下操作。
如果您正在启动计时器现在 5分钟,那么当您启动计时器时,请执行 current system time in milliseconds
和add 5*60*1000
,即您正在记录计时器结束的时间,然后将此长变量存储在SharedPreference
。
下次启动应用时,从SharedPreference
获取结束时间的值,然后再次从当前时间中减去该值。这将直接为您提供剩余的时间(以毫秒为单位)。
没有服务,没有后台线程,没有额外的运行代码,只是在计时器开头的共享首选项将为您保留记录。