java - GPS 位置追踪

标签 java android gps location

我想实现 GPS 跟踪服务。在网络上搜索后,我仍然对练习此功能的最佳方式感到困惑。

我想在用户离家一英里时开始关注他。

我认为该应用程序将安装在用户家中并使用:

locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);

我将获取用户的坐标,并将其与移动时不断变化的坐标进行比较。 当用户离开他家一英里时,我会每隔一个预定义的时间间隔发送包含他的 map 位置的 SMS 消息。

我想知道是否有人以前做过类似的事情并且可以为这项任务推荐最佳实践。

此外,GPS 的准确度如何,获取距离的最佳做法是什么?

提前致谢。

最佳答案

根据我的经验,始终使用 GPS 来跟踪用户何时离开他的住所并不是一个好主意,因为它会立即消耗电池。我最终通过夜间查看手机信号塔 ID 了解了家庭位置(假设用户当时在家)。如果您确信自己知道用户的家庭位置,您可以问他类似“你现在在家吗?”之类的问题。可以完全确定(尽管这对许多用户来说有点令人毛骨悚然)。

如果您遵循此策略,您可以在用户连接到新的手机信号塔时启动 GPS 并节省大量电量。

关于准确性。您可以获得每个 Android.Location 对象提供的准确度。如果您在室外,这通常是 5 或 10 米。但请注意,根据 documentation,此值正确的可能性只有 68%。 :

We define accuracy as the radius of 68% confidence. In other words, if you draw a circle centered at this location's latitude and longitude, and with a radius equal to the accuracy, then there is a 68% probability that the true location is inside the circle.

关于java - GPS 位置追踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16418116/

相关文章:

java - 即使应用程序关闭,如何暂时禁用按钮?

[myserver.mydomain.com] 不受信任的 Java 信任库根证书

java - 我的函数无法在 JavaFx 中调用

android - 为 Wear App 构建 gradle 失败

java - 如何只设置一次文本,但它涉及到许多 Activity

php - 在mysql中通过lat lng获取10km以内的记录

ios - 是否可以在 Xcode 或设备中模拟低 GPS 精度?

java - 无法在 logcat 中获取连接工厂客户端

android - Google Play如何在特定时间发布应用

algorithm - 去除建筑物内不良的 GPS 信号