希望使服务独立运行



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

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

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

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

第二个问题是使用服务信息或为此收集的数据更新活动,您需要了解"如何绑定服务"。(在服务连接和绑定到活动的活动检查中,Unbindbg也在那里。活动具有实现binder所需的所有回调。

编辑

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

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

最新更新