首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果侦听器同时侦听网络和卫星gps,如何仅删除网络提供程序?

如果侦听器同时侦听网络和卫星gps,如何仅删除网络提供程序?
EN

Stack Overflow用户
提问于 2014-09-17 13:29:08
回答 1查看 292关注 0票数 1

情况是这样的。我需要优先从卫星上获取GPS。然而,如果在室内,将不会有新的地点收到。我所做的是,如果在2分钟后没有收到新的位置,那么我将切换到网络GPS。然而,如果用户出去,应用程序不会知道,因为它已经从网络GPS监听,它将不再从卫星接收位置。

所以,如果我能听到新的位置更新,天气是从卫星还是从网络,那就更好了。不过如果我能把卫星上的优先排序的话就更好了。

我发现这个问题和选择的答案真的很有帮助:安卓LocationListener从全球定位系统到网络的转换

但有一点让我很困惑。他说:您为两个提供商设置了相同的LocationListener。要从接收位置识别,您需要像这样测试它:

代码语言:javascript
运行
复制
public void onLocationChanged(Location fix) {
    if(fix.getProvider().equals(LocationManager.GPS_PROVIDER)){
        //here Gps
    } else if(fix.getProvider().equals(LocationManager.NETWORK_PROVIDER)){
        //here Network
    }
}

因此,如果是这样的话,如何禁用仅从网络提供商接收更新?因为如果我使用一个同时监听gps和网络的侦听器,那么当我执行removeUpdates(thatListener)时,该侦听器将不再接收任何(卫星或网络) gps更新。

但是如果他说我要做两个完全相同的监听器(除了一个是卫星的,一个是网络的),那么我就不需要检查是哪个提供者给出了这个位置,因为每个侦听器都有自己的onLocationChanged方法。我错过了什么吗?我没有足够的声誉,所以我不能直接评论他的回答

此外,卫星GPS通常需要多长时间才能接收到位置更新?

(非常感谢!)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-17 13:49:39

我想新的融合定位提供商是为了满足您的需求而设计的。让谷歌为你做这件事,并且总是带上最好的供应商。你需要安装Google服务,但这基本上没问题。安装Locationservice已经变得更加容易了。关于一个很好的例子,请参见这里

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

https://stackoverflow.com/questions/25891976

复制
相关文章

相似问题

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