我正在使用公共书籍的唤醒服务模式。我的问题是处理服务实例。我的目标是每 X 分钟检查一次用户的当前位置(不必非常准确),并用它做一些逻辑。当我注册位置更新时出现问题。我将 locationManager.removeUpdates(locationListener) 放在“onDestroy”函数上,但它仍然不断地从 messageQueue 向我发出警告,告诉我他的消息将进入死线程。我不能放弃位置更新,因为如果设备上没有其他应用程序,我将获得旧的、不相关的位置。
我能做些什么?
谢谢,
我正在使用公共书籍的唤醒服务模式。我的问题是处理服务实例。我的目标是每 X 分钟检查一次用户的当前位置(不必非常准确),并用它做一些逻辑。当我注册位置更新时出现问题。我将 locationManager.removeUpdates(locationListener) 放在“onDestroy”函数上,但它仍然不断地从 messageQueue 向我发出警告,告诉我他的消息将进入死线程。我不能放弃位置更新,因为如果设备上没有其他应用程序,我将获得旧的、不相关的位置。
我能做些什么?
谢谢,
WakefulIntentService
onHandleIntent()
不适合这个,因为服务一旦返回就会关闭。相反,请查看类似 的LocationPoller
内容,它使用常规Service
和WakeLock
,让服务运行足够长的时间,以便在关闭服务之前获得位置修复。