在这个主题上有很多这样的线程,我已经阅读了谷歌的文档和其他东西,但我仍然不清楚如何才能获得位置更新,永远。
我需要的是:要知道用户现在在哪里(意思是:范围5-10分钟),所以每5-10分钟,如果有一个更新的位置,我需要将新的位置存储在db中,即使主应用程序没有运行。
到目前为止,我已经做了一个永无止境的服务,每5-10分钟要求最后的位置,但这(轮询)显然是不好的。
谷歌最新的接收位置更新文档显示了如何在MainActivity中这样做,仅此而已。
谷歌建议的IntentService“按需处理异步请求(以意图表示)”,因此它似乎不是合适的人选。
任何帮助都将不胜感激。
发布于 2015-06-07 08:07:03
我的主要问题是“如何在启动后启动服务”,因此我以以下方式解决了问题:
Service.START_REDELIVER_INTENT
方法返回onStartCommand。android:installLocation="auto"
移动到android:installLocation="internalOnly"
以使BroadcastReceiver工作(文档)尽管如此,如果用户从设置(Force close
)中关闭应用程序,该服务将停止工作,但这正是用户所希望的,没有问题。
https://stackoverflow.com/questions/30680635
复制相似问题