android – 同时有多个位置提供商

android – 同时有多个位置提供商,第1张

概述我在定位系统方面遇到了一些问题. 我有一个实现locationlistener的服务. 我希望在可能的情况下使用网络获得最佳位置,如果网络不够准确(精度大于300mt),则需要gps. 问题是这个.每隔5分钟我需要位置(如果可能,准确,其他方面不准确). 我从一开始: LocationManager lm=(LocationManager)getApplicationContext().getSy 我在定位系统方面遇到了一些问题.
我有一个实现locationListener的服务.
我希望在可能的情况下使用网络获得最佳位置,如果网络不够准确(精度大于300mt),则需要gps.
问题是这个.每隔5分钟我需要位置(如果可能,准确,其他方面不准确).
我从一开始:

LocationManager lm=(LocationManager)getApplicationContext().getSystemService(LOCATION_SERVICE);    Criteria criteria = new Criteria();    criteria.setAccuracy(Criteria.ACCURACY_COARSE);    criteria.setAltituderequired(false);    criteria.setbearingrequired(false);            String provIDer=lm.getBestProvIDer(criteria,true);    if(provIDer!=null){    lm.requestLocationUpdates( provIDer,5*60*1000,this);

在“onLocationChanged”中我会听取位置,当我得到一个精度大于300mt的位置时,我想更改为gps定位系统.

如果我删除allupdates然后请求gps更新,如下所示:

lm.removeUpdates((androID.location.LocationListener) this);Criteria criteria = new Criteria();    criteria.setAccuracy(Criteria.ACCURACY_FINE);    criteria.setAltituderequired(false);    criteria.setbearingrequired(false);            String provIDer=lm.getBestProvIDer(criteria,true);    if(provIDer!=null){    lm.requestLocationUpdates( provIDer,this);    }

系统停止等待gpsupdate,如果我在一个封闭的房间,它可以保持几个小时没有位置更新,忽略timeupdate指示.
如果gps没有在“x”秒内给出位置,有没有办法告诉locationprovIDer切换到网络?或者如何理解gps何时没有本地化?

或者如果我同时从2个提供商请求位置更新(网络和gps),可能会出现问题?

有什么建议吗?

解决方法 我正在写一个特定于你的问题的答案,但后来我意识到我的anser无法与AndroID开发指南提供的这个 excellent resource竞争.它解释了位置听众的方法,原因,利弊.

如果您在AndroID中走下GPS之路,这是必读的.它回答了您的上述问题以及更多问题.相信我,值得你的时间.

每个SDK都提供了实现有用示例的示例.我很确定这是一个位置示例.

总结

以上是内存溢出为你收集整理的android – 同时有多个位置提供商全部内容,希望文章能够帮你解决android – 同时有多个位置提供商所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1124472.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存