2017-07-19 38 views
-2

我希望用户能够创建多个定时器。这些定时器应该能够同时运行,并且应该能够在活动被破坏时运行。问题是我真的不知道如何实现这一点,因为这两种服务似乎都无法实现我所寻找的功能。即使在活动被破坏后,启动的服务也能够在活动的后台运行。但是,Started Services缺少可用于有界服务的客户端服务器方面。然而,有界服务严重依赖于调用组件(Activity)。我希望将服务的结果输出到活动中。哪种服务更适合我的需求?允许定时器超时活动

我还需要能够运行多个定时器。我最初的计划是为每个定时器创建一个新线程,然后在线程之间切换以显示特定的定时器。但是我注意到,在我的一个测试程序中,一旦活动被破坏(使用有界服务),线程标识就会改变,表示新线程正在执行程序。我有权做出这个结论吗?当我运行多个定时器时,我是否正确?任何见解都会有帮助。

+0

参考[this](https://developer.android.com/training/scheduling/alarms.html)和[this](https://developer.android.com/reference/android/app/AlarmManager。 HTML)。 –

回答

1

我不知道为什么你的问题是downvoted。

不仅有解决方案,在评论中显示。这取决于你想要发射事件的频率和时间。

  1. 您可以使用前台服务。

  2. 你可以把你的Timer放在Application类中。

  3. 您可以使用Application类和接口在活动和服务之间创建简单的绑定。

  4. 您可以发送消息。

  5. 您可以使用AlarmManager。 (在评论中,最常见)

  6. 您可以使用您的自定义单身人士。

编辑

使用前景和绑定读这篇文章。

https://stackoverflow.com/a/7041427/1979882

,但我会建议通过存储acvitiy和服务的情况下,在应用程序类通信。

+0

感谢维亚切斯拉夫的建设性评论。根据活动是否仍然存在,是否可以在绑定服务和前台服务之间切换? – Czar

+0

@Czar我已经更新了答案 – Vyacheslav

+0

感谢您的帮助Vyacheslav – Czar