首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android,后台定位服务

Android,后台定位服务
EN

Stack Overflow用户
提问于 2015-06-06 08:24:29
回答 1查看 158关注 0票数 1

在这个主题上有很多这样的线程,我已经阅读了谷歌的文档和其他东西,但我仍然不清楚如何才能获得位置更新,永远

我需要的是:要知道用户现在在哪里(意思是:范围5-10分钟),所以每5-10分钟,如果有一个更新的位置,我需要将新的位置存储在db中,即使主应用程序没有运行。

到目前为止,我已经做了一个永无止境的服务,每5-10分钟要求最后的位置,但这(轮询)显然是不好的。

谷歌最新的接收位置更新文档显示了如何在MainActivity中这样做,仅此而已。

谷歌建议的IntentService“按需处理异步请求(以意图表示)”,因此它似乎不是合适的人选。

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2015-06-07 08:07:03

我的主要问题是“如何在启动后启动服务”,因此我以以下方式解决了问题:

  • 使用LocationListener创建服务。它从Service.START_REDELIVER_INTENT方法返回onStartCommand。
  • 创建一个在启动后启动服务的BroadcastReceiver
  • 在清单中,将android:installLocation="auto"移动到android:installLocation="internalOnly"以使BroadcastReceiver工作(文档)

尽管如此,如果用户从设置(Force close)中关闭应用程序,该服务将停止工作,但这正是用户所希望的,没有问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30680635

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档