首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Android中同时使用GPS和网络提供商

在Android中同时使用GPS和网络提供商
EN

Stack Overflow用户
提问于 2011-01-04 23:49:04
回答 2查看 16.9K关注 0票数 21

我已经在我的应用程序中实现了一个locationlistener,它使用Network Provider。

这一切都很好,因为我想要一个快速的位置和GPS供应商,它需要很长时间。

但我在我的应用程序中已经达到了一个点,位置必须是准确的(最大5-10米)。

我想知道是否有可能同时使用GPS提供商和网络提供商,然后获得两者的最佳结果?还有没有可能让我知道GPS供应商何时向我提供了GPS位置?

所以基本上:

代码语言:javascript
运行
复制
LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, this);
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this);

这是否适用于相同的被覆盖的onLocationChanged()?

我怎么才能知道GPS有没有定位?

谢谢,

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-05 01:16:36

当然,您可以对多个提供程序使用相同的侦听器。将locationmanager.getProvidersCriteria对象一起使用可能会更好,然后按精度排序,或者只监听所有的精度。虽然没有太大的实际区别。

onLocationChanged回调提供了一个Location对象,该对象有一个getProvider()方法,您可以使用它来确定它来自哪里。它还具有getAccuracy()方法,因此您还可以根据准确性对最近的修复进行排序。

票数 27
EN

Stack Overflow用户

发布于 2012-12-14 01:33:44

理想情况下,如果您不关心电池的使用情况,那么使用两个提供商都是很好的。正如达伦所解释的,您可以使用getProvider()和getAccuracy()来过滤坐标。

http://blog.shinetech.com/2011/10/14/a-good-look-at-android-location-data/

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

https://stackoverflow.com/questions/4595522

复制
相关文章

相似问题

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