立即删除位置更新
Posted
技术标签:
【中文标题】立即删除位置更新【英文标题】:Remove location updates immediately 【发布时间】:2015-07-29 06:03:44 【问题描述】:我正在使用融合位置 API 我有 2 个意图服务:
第一个意图服务是注册 GoogleApiClient 对象。 第二个意图服务经常获取位置更新,并且不使用 GoogleApiClient 对象。
我想打电话:LocationServices.FusedLocationApi.removeLocationUpdates(mGoogleApiClient,pendingIntent);
从获取位置更新的服务立即停止获取位置,但我不能因为 mGoogleApiClient 没有在那里注册。
我对此的解决方案感到困惑?有什么想法吗?
【问题讨论】:
那么在那里注册? 我想过,但很奇怪?我们不能只在一项服务中注册 mGoogleApiClient 并在其他服务中使用它吗?? 如果您的mGoogleApiClient
是在不同的IntentService
中创建的,那么您无论如何都无法使用它,因为IntentService
在完成onHandleIntent()
后会立即被销毁,因此可能不会当你的第二个IntentService
运行时,它甚至不存在。
【参考方案1】:
您的应用可以同时在多个地方连接到GoogleApiClient
。在您的活动识别IntentService
中使用blockingConnect()
连接到GoogleApiClient
会更容易,这样您可以在需要时直接调用removeLocationUpdates()
。
【讨论】:
感谢您的回答。我尝试使用 this.stopSelf();在注册到 GoogleApiClient 的其他意图服务中,我删除了位置更新,看起来它正在工作。我会尽快检查后更新。但是你的回答被接受了。以上是关于立即删除位置更新的主要内容,如果未能解决你的问题,请参考以下文章