【问题标题】:Android onLocationUpdate not called with GPS_PROVIDER未使用 GPS_PROVIDER 调用 Android onLocationUpdate
【发布时间】:2011-03-17 09:44:09
【问题描述】:

嗨
我有一个使用位置管理器的 Android 服务:

if(locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
Log.i("service","start with GPS"); locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0,locationListener);
}

然后是位置监听器:

private LocationListener locationListener = new LocationListener() {
public void onLocationChanged(Location aLocation) {
Log.i("location listener", "location updated");
}
... other methods ....
}

在清单中,设置了 ACCESS_FINE_LOCATION 的授权。

NETWORK_PROVIDER 在模拟器和手机(Xperia Android 1.6 到 2.2)中一切正常。它在 GPS_PROVIDER 的模拟器中运行良好。但是当我尝试在设备中使用 GPS 时,永远不会调用位置监听器。我可以在 DDMS 中看到 GPS 实际上正在工作并检索位置,但它从不调用侦听器方法。 不过有一条奇怪的消息:

WARN/libloc_api(1173): loc_eng_report_position: 当会话状态 = 1 时忽略位置报告

我看不到我错过了什么。任何想法 ?谢谢。

【问题讨论】:

  • 您要等多久才能确定位置? GPS 图标是动画还是静止?
  • 好吧,我等了一两分钟,但在 DDMS 的日志中,我看到 GPS 正在寻找位置,因为它报告了纬度/经度。预计需要多长时间?
  • 1 到 15 分钟。修复后,图标将在状态栏中停止动画。
  • Duh ... 它终于在 20 百万之后发生了 ... 好的,解决方案是:等待足够长的时间 ... 如果您愿意将其作为答案,我会接受。

标签: android gps


【解决方案1】:

获取位置修复需要一段时间。首次修复 de(TTFF) 的时间取决于很多因素,例如可见 GPS 卫星的数量、信噪比、GPS 芯片组等......

这里是a nice article,它将帮助您充分利用 Android 手机上的 GPS。

【讨论】:

    猜你喜欢
    • 2020-02-13
    • 1970-01-01
    • 1970-01-01
    • 2012-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多