从Android中的未绑定服务获取数据

时间:2011-04-08 15:27:54

标签: android service ipc

我目前有一个未绑定的服务正在不断地抓住我开机时启动的gps位置。然后,我有一个应用程序,可以通过从服务中提取数据来绘制我所在的位置。

我无法绑定服务以与之通信,或者在关闭应用程序后它将被销毁。

有没有什么好方法可以从未绑定的服务中获取数据,或者在我解除绑定后保持绑定服务不会死亡?

干杯! :)

2 个答案:

答案 0 :(得分:2)

有一种解决方法可以让您的服务保持活力。通过调用startService调用您的服务,然后绑定到该服务。这样,您的活动就是维护服务的生命周期。

答案 1 :(得分:2)

正如documentation所述:

  

服务既可以启动也可以   连接到它的连接。在这样的   情况下,系统将保留服务   只要它运行,它就会运行   开始或有一个或多个   连接

首先,使用startService()启动服务,然后在onResume()中绑定它,并在onPause()中取消绑定。尽管如此,该服务仍将继续运行,因为它已启动。当您要停止服务时,请从服务中拨打stopSelf()或从活动中拨打stopService()。如果有任何连接存在,它会立即停止或一旦你解除它就会停止。