每 10-15 秒在后台使用 GPS 是不是是一个好习惯?

Posted

技术标签:

【中文标题】每 10-15 秒在后台使用 GPS 是不是是一个好习惯?【英文标题】:Is it a good practice to use GPS in the background every 10-15 seconds?每 10-15 秒在后台使用 GPS 是否是一个好习惯? 【发布时间】:2018-12-22 01:59:30 【问题描述】:

我正在开发一个完全基于用户位置的安卓应用程序,所以我希望尽可能频繁地接收坐标。对于这种情况,我决定创建一个将在后台运行(循环)的服务,并每 10-15 秒使用一次用户 GPS 和 NETWORK 提供程序,并在收到修复后将其关闭。这是一个好习惯吗?

【问题讨论】:

您可以使用地理围栏来检查用户是否在移动。如果用户没有移动,您可以停止服务并在再次检测到移动时将其重置(也就是用户跨过地理围栏)。 @LuísHenriques 我不认为地理围栏是我需要的。这里的问题是 NETWORK provider 不准确。 是的,不是。 GPS具有更高的准确性。如果您不在室内,为什么不使用 GPS?但如果你在室内,我认为谷歌有一个非常准确的位置 API。本项目使用它(我认为这是正确的):github.com/Phantast/smartnavi 【参考方案1】:

当您确信您需要用户准确的位置并且需要更新时,您就需要它。但是您可以查看this answer 以了解实现它的首选方式(当然有一点改变)

请考虑使用Google Fused Location:

Google 位置服务 API 是 Google Play 服务的一部分,它提供了一个更强大的高级框架,可以自动处理位置提供者、用户移动和位置准确性。它还根据您提供的功耗参数处理位置更新调度。在大多数情况下,通过使用定位服务 API,您可以获得更好的电池性能和更合适的准确度。

Refrence

【讨论】:

谢谢。恐怕我的用户不明白为什么他们的 GPS 每隔几秒钟就会被使用一次(由于我的服务循环,他们会看到 GPS 图标在状态栏中闪烁)。因此,他们可能想要删除该应用程序。这对我来说现在是个大问题。但是,这也是我的情况的最佳解决方案。

以上是关于每 10-15 秒在后台使用 GPS 是不是是一个好习惯?的主要内容,如果未能解决你的问题,请参考以下文章

如何每 10 秒在前台和后台更新用户位置? [复制]

Android Xamarin 后台服务 - 每 x 分钟获取一次 GPS 位置?

如何每 5 秒在值之间切换 TextView

wp8后台gps追踪器停止工作

如何使用游戏循环每五秒在屏幕上出现和消失一个对象

PHP:每10秒在while循环内执行一个函数