我正在尝试检索位置
mLocationRequest.setPriority(LocationRequest.PRIORITY_BALANCED_POWER_ACCURACY);
当我连接到Wifi时,没有问题,但当我断开Wifi并让4G确定位置时,我得不到gps修复...
问题是我是通过4G接收互联网的,所以我不明白为什么!
有什么想法吗?
发布于 2015-03-11 07:15:07
我认为这里的问题是谷歌定位服务,也就是“网络”定位,严重依赖Wi-Fi网络来确定位置。
从蜂窝网络获取位置可能很不稳定,特别是取决于您所在的位置。如果你在城市的闹市区,周围有很多手机发射塔,所以三角测量比你在人口不太密集的地区更能确定你的位置。
文档中并没有明确说明这一点,但看起来使用PRIORITY_BALANCED_POWER_ACCURACY
可能是在“被动”使用GPS无线电,这意味着如果另一个应用请求位置回调,它只会向你提供来自GPS无线电的数据,所以你基本上是在利用那个请求,即使你得到了位置数据,你的应用也不会因为电池耗尽而受到指责。
文档说明:
介于这两个极端之间的
是一个非常常见的用例,其中应用程序肯定希望以指定的时间间隔接收更新,并且在可用时可以更快地接收它们,但仍然希望低功耗影响。这些应用程序应该考虑将PRIORITY_BALANCED_POWER_ACCURACY与较快的setFastestInterval(长)(如1分钟)和较慢的setInterval(长)(如60分钟)结合使用。它们将仅在setInterval(long)设置的时间间隔内分配电源故障,但仍可接收由其他应用程序以高达setFastestInterval(long)的速率触发的位置。这种类型的请求适用于许多位置感知应用程序,包括后台使用。如果您在接收更新后执行重量级工作,也要注意限制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
https://stackoverflow.com/questions/28975281
复制相似问题