我正在使用commonsware书籍的清醒服务模式。 我的问题是处理服务实例。 我的目标是每隔X分钟检查一下用户的当前位置(不一定非常准确),并做一些逻辑。 我在注册位置更新时出现问题。 我将locationManager.removeUpdates(locationListener)放在“onDestroy”函数上,但它仍然不断地从messageQueue向我发出警告他的消息将导致死线程。 我无法放弃位置更新,因为如果设备上没有其他应用,我会变老,而不是相关的位置。
我该怎么办?
谢谢,
答案 0 :(得分:0)
WakefulIntentService
不适用于此,因为onHandleIntent()
返回后服务将关闭。相反,请查看LocationPoller
之类的内容,它使用常规Service
和WakeLock
,使服务运行的时间足够长,以便在关闭服务之前获得位置修复。