0

我希望对 requestLocationUpdates() 的调用有两个单独的回调,每个回调都监视不同的时间间隔(一个时间,一个距离)。这可能吗?或者我可以使用一个 LocationManager 实例并在其上调用 requestLocationUpdates() 两次,声明一个单独的对象来实现 onLocationChanged() 作为它的最后一个 arg/param?

4

1 回答 1

0

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

您只需为每个侦听器“删除更新”一次。所以如果你已经注册了两次同一个监听器,你只需要调用一次removeUpdates。

但是,如果您注册不同的时间间隔,则两个侦听器可能仍会获得所有更新。接口不保证更新频率,传递的参数只是提示。它甚至可能因手机而异——在某些手机上,每个听众都可以在请求的频率上获得更新,而在另一部手机上,两个听众都可以获得所有更新。

于 2012-05-16T20:20:42.437 回答