我知道我们可以使用getLastKnownLocation获取Android设备的当前位置,并在requestForUpdates方法中注册一个侦听器。但是,此方法适用于Activity,我认为这意味着更新将仅发送到该特定活动。
我想在任何活动中收到位置更新。它应该在应用程序启动时注册,任何可见的活动都应该能够获取当前位置。
我是否需要创建一个不同的类并使用Service类扩展它并在应用程序启动时启动服务?或者还有其他方法吗?
此外,如果有两个不同的活动注册requestForUpdate方法,有人可以告诉我会发生什么。第一个会自动取消注册吗?或者他们都会收到更新?
此外,我不确定,但我认为每当活动被销毁时,位置监听器会自动取消注册,或者需要在onDestroy活动方法中取消注册?
有人对这一切有任何想法吗?
答案 0 :(得分:1)
创建一个检查Service
的{{1}},然后向所有感兴趣的活动发送广播。
如果要定期执行此操作,请设置闹钟。
有关详细信息,请参阅此帖:Android service with locationListener callbacks