【发布时间】: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