我如何从我启动服务并重新打开的活动中调用服务的方法

时间:2017-05-13 16:07:52

标签: android android-activity android-service

我有活动和服务。 我想在服务和活动中开始倒数计时器。

当我关闭活动时,服务中的计时器会继续在后台运行。

当我重新打开活动时,我希望从服务的计时器中获取剩余时间,并在活动中启动一个新的计时器并保持相同的时间。我怎么能做到这一点?

1 个答案:

答案 0 :(得分:0)

执行不好。您正在运行服务只是为了运行计时器以显示重新启动应用程序的剩余时间?

相反,您可以执行以下操作。

如果您正在启动计时器现在 5分钟,那么当您启动计时器时,请执行 current system time in milliseconds add 5*60*1000,即您正在记录计时器结束的时间,然后将此长变量存储在SharedPreference

下次启动应用时,从SharedPreference获取结束时间的值,然后再次从当前时间中减去该值。这将直接为您提供剩余的时间(以毫秒为单位)。

没有服务,没有后台线程,没有额外的运行代码,只是在计时器开头的共享首选项将为您保留记录。