【问题标题】:requestLocationUpdates vs Location ListenerrequestLocationUpdates 与位置侦听器
【发布时间】:2013-05-02 21:28:33
【问题描述】:

使用带有 requestLocationUpdates() 的位置管理器对象与仅使用 LocationListener 有什么区别?他们都做同样的事情并以同样的方式工作吗?一个比另一个有什么优势?

LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);

lm.requestLocationUpdates(LocationManager.GPS_provicer, 0, 0, new LocationListener()){
//all appropriate methods here
}

VS.

LocationListener myLocationListener = New LocationListener(){
// all appropriate methods here
}

【问题讨论】:

  • 当我说技术上的错误时,它还不足以投票反对:)

标签: android gps android-maps android-location


【解决方案1】:

您的问题在技术上不正确。 LocationManager 通过 requestLocationUpdates 注册一个监听器。当您的位置经理意识到发生超时或距离旅行时,侦听器是回调。在您的情况下,将立即调用位置侦听器。

但请注意,使用 0,0 参数的位置管理器请求更新不是已知是即时的。有时可能会有延迟。

所以你关于有什么区别的问题是不正确的。这就像问Print thisSystem.out.println() 有什么区别:)

【讨论】:

  • 好的,所以它不是一个或一个类型的东西。我使用我的 LocationManager 对象来 requestlocationUpdates() 然后我使用 LocationListener 处理这些更新?
  • 是的,你是对的。但是 LocationListener 是一个接口,所以你需要实现它。并将此对象引用提供给 requestLocationUpdates。正确。
  • 感谢您解决此问题。没有意识到位置列表器处理位置变化的重要性。还认为位置侦听器在需要使用位置管理器时单独使用很有用。
猜你喜欢
  • 2011-08-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-20
  • 1970-01-01
  • 2017-11-05
  • 2011-10-17
  • 1970-01-01
相关资源
最近更新 更多