【问题标题】:Android: GPS provider is never chosen. Only network providers are presentAndroid:从未选择 GPS 提供商。只有网络提供商存在
【发布时间】:2012-08-20 08:26:03
【问题描述】:

我正在尝试让我的应用选择 GPS 提供商。方法 getBestProvider() 产生网络提供者,方法 getAllProviders() 也产生三个网络提供者。 奇怪的是,我的三星 GTS5360 设备中启用了 GPS,isProviderEnabled(LocationManager.GPS_PROVIDER) 调用也证明了这一点。我使用的是 Android 2.3.6。

我的清单文件具有两种权限(ACCESS_FINE_LOCATION 和 ACCESS_COARSE_LOCATION)。我还实现了一个 GpsStatus 侦听器,我将它添加到我的 locationManager 对象中以侦听 GPS_EVENT_SATELLITE_STATUS 事件,但到目前为止什么都没有发生。

当我运行其他嵌入式 GPS 应用程序时,GPS 工作。我坐在阳台上,天空晴朗。

任何关于可能发生的事情的建议都非常受欢迎。如有必要,我可以发布我的代码。

【问题讨论】:

  • “getAllProviders() 也产生三个网络提供者”——只有一个 NETWORK_PROVIDER。是什么让您认为您在从getAllProviders() 返回的List<String> 中获得了字符串"NETWORK_PROVIDER" 三次?
  • 你说的太对了。 getAllProviders() 中的 for 循环返回 0) 网络、1) 被动和 2) gps。我的错!
  • 关于getBestProvider(),我猜你Criteria 中的某些内容导致GPS 不是一个有效的选择。
  • 太棒了!非常感谢您的帮助!!!通过调整我的标准,特别是通过设置 ACCURACY_FINE 和 POWER_LOW,我让 GPS 提供者像魅力一样工作......再次感谢您!问题解决了。

标签: android networking gps provider


【解决方案1】:

CommonsWare 为我的问题提供了解决方案。通过设置正确的标准 ACCURACY_FINE 和 POWER_LOW,GPS 提供商成为首选提供商。向 CommonsWare 致敬!

【讨论】:

    猜你喜欢
    • 2011-10-10
    • 1970-01-01
    • 2012-02-22
    • 2014-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多