Intent Service在app关闭后保持打开状态



我创建了一个应用程序,它需要在应用程序关闭时运行intent服务,如果两个值不同步(例如:意图服务在我的应用程序中更新一个文本视图,它将使用BroadcastReceiver显示这两个值。

同样,intent服务在一个活动中创建,但应该在另一个活动中停止。这两个值基于GPS位置更新和通过web服务方法发送的位置。在某些点上,GPS可能会更新位置,而web服务可能不会,因为移动数据/wifi的连接有限,因此会使值失去平衡(3中的1),如果用户关闭应用程序,则需要持续运行,直到值达到3中的3(当应用程序关闭时GPS停止更新)。

intent应该运行,直到值再次同步,即使应用程序已经关闭。我如何保持这个运行,而应用程序是关闭的,然后停止它时,值是同步的

因为IntentService就像一个线程。它被设计成只要完成onHandleIntent()就会运行。

如果你想管理生命周期,使用一个常规的服务,并通过stopService或stopself()来控制它。

顺便问一下,你为什么要把asynctask和intentservices混在一起呢?使用其中一种,但不要混合。AsyncTask处理所有。mainUI中的后台线程和处理。无论如何,使用GPS你应该决定使用一个常规的服务和(也许)创建一个线程内的服务onStartCommand()。

最新更新