【发布时间】:2019-11-19 05:25:43
【问题描述】:
我已经设置了一个基本上每 15 分钟运行一次的服务,并在 GPS 提供商上执行 requestLocationUpdates。我在服务中设置了监听器。
现在,当 onStartCommand 方法结束时,我会执行 stopSelf,因为我希望服务在另外 15 分钟后终止,因为我知道它将使用 AlarmManager 再次启动。
但服务在监听事件到达位置信息之前就退出了。
如果我注释掉接收到位置的 stopSelf。
如何让服务等到收到位置。我考虑过将 stopSelf 放在 onLocationChanged 事件中,但它可能不会总是触发。
我想到的另一种方法是实现线程睡眠,但这感觉就像代码异味。
【问题讨论】:
标签: android android-service locationmanager