首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法使用4G检索位置

无法使用4G检索位置
EN

Stack Overflow用户
提问于 2015-03-11 06:27:38
回答 1查看 439关注 0票数 0

我正在尝试检索位置

代码语言:javascript
运行
复制
mLocationRequest.setPriority(LocationRequest.PRIORITY_BALANCED_POWER_ACCURACY);

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

问题是我是通过4G接收互联网的,所以我不明白为什么!

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28975281

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档