【问题标题】:Android: locationManager GPS_provider VS Network_providerAndroid: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 信号强度?

【问题讨论】:

标签: android geolocation android-gps


【解决方案1】:

LocationListener 有一个函数onStatusChanged()。你必须重写这个函数来检查 GPS_PROVIDER 的状态并相应地采取必要的行动,在你的情况下是切换到 NETWORK_PROVIDER。

希望这能回答您的问题

【讨论】:

  • 感谢您的回答,在 GPS 尝试获取位置 XXX 秒后,仍然需要弄清楚如何切换提供商......也许最好使用getBestProvider并添加@ 987654324@with a speedrequirement??
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多