2011-12-31 73 views
0

我希望有两个独立的回调调用requestLocationUpdates(),每一个监控不同的时间间隔(时间之一,距离之一)。这可能吗?或者我可以使用一个LocationManager实例并调用requestLocationUpdates()两次,声明一个单独的对象来实现onLocationChanged()作为其最后一个参数/参数?是否可以实例化两个LocationManager对象?

+0

从来没有使用LocationManager我想说,使用requestLocationUpdates(..)注册两个LocationListeners不应该是不可能的,因为有一个清理方法removeUpdates(LocationListener)来删除它们。至于使用两次相同的LocationListener实现,我会说不这样做。 – harism 2011-12-31 00:51:27

回答

0

是的,您可以注册两次。例如,如果您想注册多个供应商,您甚至可以每次使用相同的侦听器对象。

您只需为每位听众“removeUpdates”一次。所以如果你注册了同一个监听器两次,你只需要调用removeUpdates一次。

但是,如果您注册了不同的时间间隔,那么这两个侦听器仍然可以获取所有更新。界面对更新频率没有任何保证,传递的参数只是提示。它甚至可能因手机而异 - 在某些电话上,每个听众可以根据请求的频率获得更新,而在另一个电话上,两个听众都可以获得所有更新。

相关问题