有没有办法选择特定的 GPS 提供商?

Posted

技术标签:

【中文标题】有没有办法选择特定的 GPS 提供商?【英文标题】:Is there any way to choose a specific GPS Provider? 【发布时间】:2018-05-16 10:30:41 【问题描述】:

我在 android 中创建了一个应用程序,它获取用户的 GPS 坐标并将其显示在 toast 中。这是关键线。当然,在 Manifest 中使用 ACCESS_FINE_LOCATION 的权限正在被使用。

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);

当我在朋友的手机上测试我的应用时,他的 lat、lng 坐标是 与我的不同,即使我们相距不到一米。然后我计算了他的 lat,lng 和我的 lat,lng 之间的距离。它大约有 330 米。

后来我想到可能是他的 GPS_PROVIDER(卫星)和我的不同,因为他的手机和我的不一样。

我的想法是否正确? 如果是,在 android studio 中有什么方法可以指定要使用的 GPS 提供程序吗?所以下次我在朋友的手机上测试我的应用时,我们的 lat,lng 坐标是相同的。

【问题讨论】:

【参考方案1】:

上述思路是否正确?

不是真的。只有一组 GPS 卫星。虽然在不同的完成阶段有类似的系统(例如,欧盟的 Galileo),但很可能您的两个设备都在访问同一个系统。

当我在朋友的手机上测试我的应用程序时,他的 lat、lng 坐标与我的坐标不同,尽管我们相距不到一米。

当然。不同的移动芯片组将具有不同的 GPS 接收器。案例建设可能会产生影响,两个地点之间的建筑建设可能略有不同。以此类推。

在 android studio 中有什么方法可以指定要使用的 GPS 提供程序吗?

没有。

【讨论】:

“案例建设可能会产生影响,两个地点之间的建筑建设可能略有不同”。但我们相距不到一米! @amitoz:所以?例如,在带有钢梁的办公塔楼中,整座建筑都不是一整块实心钢。不仅有供您和您的朋友坐的地方,而且大梁本身也是分开的。在大梁下方可能会产生与不在大梁下方不同的结果。这就是当您在房间内走动时手机信号强度会发生变化的原因之一……而且手机信号塔比 GPS 卫星离您更近。

以上是关于有没有办法选择特定的 GPS 提供商?的主要内容,如果未能解决你的问题,请参考以下文章

如何检测位置提供者? GPS 或网络提供商

自动切换 GPS 位置提供程序

从 Fused Location Provider 获取 GPS 或网络提供商

如何查看 WIFI 或 GPS 提供的用户位置

有没有办法防止使用依赖项提供的特定功能?

设置 GPS 监听超时