Android:locationManager GPS_provider VS Network_provider
Posted
技术标签:
【中文标题】Android:locationManager GPS_provider VS Network_provider【英文标题】:Android: locationManager GPS_provider VS Network_provider 【发布时间】:2017-10-06 02:26:27 【问题描述】:我已经准备好这两行代码,可以在我的应用程序中请求用户位置的部分中使用:
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 5000, 0, locationListener);
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 5000, 0, locationListener);
问题是,在真实设备中进行测试时,我注意到在某些地方(例如建筑物内部)使用GPS_provider
效果不佳....应用卡在等待获取 GPS 坐标,这需要花费大量时间,或者除非我有开阔的天空条件,否则永远不会来。
问题是:我该怎么做才能默认使用GPS_provider
,但是如果获取gps坐标的时间超过XXXX秒,则切换到Network_provider
并获取位置来自网络。
小修改:在使用 GPS 或网络提供商之前是否可以通过任何方式检查 GPS 信号强度?
【问题讨论】:
***.com/a/3551743/5094531 这可能会有所帮助 好的,谢谢!这对问题的第二部分很有帮助! 是的.....在第一部分工作:) 【参考方案1】:LocationListener 有一个函数onStatusChanged()
。你必须重写这个函数来检查 GPS_PROVIDER 的状态并相应地采取必要的行动,在你的情况下是切换到 NETWORK_PROVIDER。
希望这能回答您的问题
【讨论】:
感谢您的回答,在 GPS 尝试获取位置 XXX 秒后,仍然需要弄清楚如何切换提供商......也许最好使用getBestProvider
并添加@ 987654324@with a speed
requirement??以上是关于Android:locationManager GPS_provider VS Network_provider的主要内容,如果未能解决你的问题,请参考以下文章
Android:isProviderEnabled(LocationManager.NETWORK_PROVIDER) 不起作用。只有 isProviderEnabled(LocationManage
Android : LocationManager 动态调整 minTime/minDistance 阈值
Android - LocationManager 小数点后的数字