如何在分离活动和客户端时使用GoogleApiClient的onLocationChanged()?

时间:2014-11-02 12:31:21

标签: android google-api-client locationlistener

我想使用GoogleApiClient获取当前的GPS坐标,因为LocationClient现已弃用。但由于我有多个使用客户端的活动,我不想为每个活动重复写一个内部类。

但是当我编写定义本地化功能的外部类GPS时,我无法将onLocationChanged(Location location)的任何反馈提供给调用类GPS的活动。这通常是怎么做的?如何从调用活动中访问location对象?或者这只能用内部类来实现?

1 个答案:

答案 0 :(得分:1)

我写了一个应用程序,它在大多数活动中使用地理定位。我选择为我的所有客户服务的解决方案(例如:活动,对话框,甚至是其他应用程序)是写一个Service包装这个地理定位逻辑,这样我就可以绑定/取消绑定当用户在活动之间导航时。

即使用户离开所有应用程序活动,这也允许我保持地理定位客户端,从而可以异步通知他在他所在位置附近发生的特定事件。

您的位置逻辑将位于项目的一个位置,通过一些工作抽象出您正在使用的位置提供程序,您可以通过更改位置提供程序以更彻底的方式测试您的应用程序与你自己。