Android 要使服务独立运行吗

Android 要使服务独立运行吗,android,android-activity,service,broadcastreceiver,android-service,Android,Android Activity,Service,Broadcastreceiver,Android Service,所以基本上我想做的是我想要一个在后台运行的服务,并将LatLong更新到服务器。即使应用程序正在运行或未运行,也需要始终执行此操作。 现在,当应用程序启动时,我希望服务计算latlong和更新UI之间的距离,以及它已经在做的工作,即将latlong更新到服务器。我希望服务为多个活动执行附加工作。假设我启动了应用程序,我在活动A上,单击活动A上的按钮,服务开始更新UI,当我们单击“获取”时,它停止更新。现在我在活动B上,单击我希望服务除了更新LatLong和更新UI之外还做一些工作。 实现这一目标

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

编辑 我面临的问题不是让服务更新UI,而是让活动在服务已经启动时与服务通信。 我可以在启动服务时传递一些数据,但在服务已经启动时如何与服务通信。如何告诉服务您已经在运行并正在执行某些操作,现在您必须在上一个操作的基础上再执行一些操作


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

这里是基本上与ui在同一个主线程进程上运行的服务。当你想让它连续跑的时候,你已经用你的步子跑了。通过这种方式,您可以避免在应用程序进入后台时停止服务或终止服务。(请看Service.START\u STICKY flag,我想这是您需要的)

还有第二个问题,即使用正在为此收集的服务信息或数据更新活动。您需要了解“如何绑定服务”。(在服务连接和绑定到活动的活动检查中,Unbindibg也有,请查看一下)。活动具有实现绑定器所需的所有回调

编辑

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


您也可以通过接口机制来实现

您必须使用IntentService。看看下面的例子@尼兰查拉请看我的编辑看看我编辑的问题。你能解释一下吗?该服务可以通过intent向活动发送消息,活动可以通过广播intent收听消息。但是,当服务已经运行时,如何从活动向服务发送消息?比如,如果我想调用在服务已经运行时更改其某些值的方法。我怎样才能做到这一点?从活页夹类你可以做到。具有返回正在运行的服务的方法并调用该方法(公共访问说明符)。服务连接期间将提供活页夹。请让我试试。如果你能用一些代码更新你的答案,那将是很有帮助的。