我目前有一个未绑定的服务正在不断地抓住我开机时启动的gps位置。然后,我有一个应用程序,可以通过从服务中提取数据来绘制我所在的位置。
我无法绑定服务以与之通信,或者在关闭应用程序后它将被销毁。
有没有什么好方法可以从未绑定的服务中获取数据,或者在我解除绑定后保持绑定服务不会死亡?
干杯! :)
答案 0 :(得分:2)
有一种解决方法可以让您的服务保持活力。通过调用startService调用您的服务,然后绑定到该服务。这样,您的活动就是维护服务的生命周期。
答案 1 :(得分:2)
正如documentation所述:
服务既可以启动也可以 连接到它的连接。在这样的 情况下,系统将保留服务 只要它运行,它就会运行 开始或有一个或多个 连接
首先,使用startService()启动服务,然后在onResume()中绑定它,并在onPause()中取消绑定。尽管如此,该服务仍将继续运行,因为它已启动。当您要停止服务时,请从服务中拨打stopSelf()或从活动中拨打stopService()。如果有任何连接存在,它会立即停止或一旦你解除它就会停止。