【问题标题】:Failing to retrieve Location with 4G无法使用 4G 检索位置
【发布时间】:2015-05-12 13:45:41
【问题描述】:

我正在尝试使用

检索位置
mLocationRequest.setPriority(LocationRequest.PRIORITY_BALANCED_POWER_ACCURACY);

当我连接到 Wifi 时,没有问题,但是当我断开 Wifi 并让 4G 确定位置时,我没有得到 gps fix...

问题是我通过4G上网,所以我不明白为什么!

有什么想法吗?

【问题讨论】:

    标签: android gps 4g


    【解决方案1】:

    我认为这里的问题是 Google 位置服务,也称为“网络”位置,严重依赖 Wi-Fi 网络来确定位置。

    从蜂窝网络获取位置可能很不稳定,尤其是取决于您所在的位置。如果您在城市的市中心,周围有很多手机信号塔,因此三角测量可以比在人口密度较低的地区更好地确定您的位置。

    文档中并没有真正明确说明,但看​​起来使用PRIORITY_BALANCED_POWER_ACCURACY 可能会“被动”使用 GPS 无线电,这意味着它只会在另一个应用程序请求位置回调时为您提供来自 GPS 无线电的数据,因此您基本上是背负该请求,即使您获得了位置数据,您的应用也不会因任何电池消耗而受到指责。

    文档说明:

    在这两个极端之间是一个非常常见的用例,其中 应用程序肯定希望在指定的时间接收更新 间隔,并且可以在可用时更快地接收它们,但仍然想要一个 低功率影响。这些应用程序应考虑 PRIORITY_BALANCED_POWER_ACCURACY 结合更快 setFastestInterval(long)(如 1 分钟)和较慢的 setInterval(long)(如 60 分钟)。他们只会被分配 对 setInterval(long) 设置的时间间隔负责,但仍然可以 接收由其他应用程序触发的位置,速率高达 setFastestInterval(长)。这种请求风格适合 许多位置感知应用程序,包括后台使用。做 如果你执行,也要小心节流 setFastestInterval(long) 收到更新后的繁重工作 - 例如使用 网络。

    请看这里:http://developer.android.com/reference/com/google/android/gms/location/LocationRequest.html#setFastestInterval(long)

    也请参阅此帖子:PRIORITY_LOW_POWER vs PRIORITY_BALANCED_POWER_ACCURACY for google play service v2

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-12
      • 1970-01-01
      相关资源
      最近更新 更多