想让服务独立运行

时间:2014-09-19 09:47:26

标签: android android-activity service broadcastreceiver android-service

所以基本上我想要做的是我想要一个在后台运行的服务并将LatLong更新到服务器。即使应用程序正在运行,此操作也需要始终进行。 现在,当应用程序启动时,我希望服务计算latlong之间的距离并更新UI以及它已经在做的工作,即将latlong更新到服务器。我希望服务为多个活动做额外的工作。让我说我启动应用程序,我在活动A上,点击活动A上的按钮,服务开始更新UI,当我们点击获取时,它停止更新。现在我在活动B上,点击我希望服务除了更新LatLong之外还做一些工作并更新UI。 实现这一目标的最佳方法是什么。??

修改 我面临的问题是没有让服务更新UI,而是让活动在服务启动时与服务进行通信。 我可以在启动服务时传递一些数据,但在服务已经启动时如何与服务进行通信。如何告诉看到您正在运行的服务并执行某些操作,现在您必须在上一个操作之上执行更多操作。

我可以在服务中制作一些静态方法,并在需要执行额外操作时调用它们但我不想这样做..我想更好地接近。

1 个答案:

答案 0 :(得分:0)

这是基本的服务在与ui相同的主线程进程上运行。当你想让它连续运行时,你已经在你的胎面上运行它。通过这种方式,您可以避免在应用程序进入后台或被杀死时停止服务。 (请查看Service.START_STICKY标志,这就是我所需要的)。

更多关于活动的第二个问题是如何更新服务信息或为此收集的数据,您需要查看“如何绑定服务”。 (在活动检查服务连接和绑定到活动时,Unbindibg也在那里查看它)。 Activity有你需要实现绑定的所有回调。

修改

更新ui的服务必须具有发送和接收意图机制。您可以通过服务广播和意图检查您的活动是否正在运行。如果运行广播意图并让活动中的接收者听它。

您也可以通过界面机制来实现