Android:LocationManager.addProximityAlert()& LocationClient.addGeofences()

时间:2014-01-03 16:58:18

标签: android locationmanager geofencing android-geofence

这两个用作一旦用户进入/退出给定兴趣点时通知的机制。各自的优点和缺点是什么?

1 个答案:

答案 0 :(得分:7)

来自之前转换到Google Play服务的人,我可以给你一些经验:

我有一个大约2.5岁的应用程序,它广泛使用位置服务。当然,从一开始我们使用了LocationManager,因为这是Android平台上可用的。

与IOS相比,Android上的位置服务体验非常糟糕。它比我们的IOS应用程序有缺陷,不可靠,并且提供的位置不太精确,而且它耗尽了更多的电量。这是拖累。

因此,当谷歌在今年夏天推出新的API时,我们跳了起来。这样更好。有几件事:

  1. 更快更可靠。
  2. 它不那么多了。例如,在旧的API中,我们有时会得到一个带有新时间戳的“旧”修复程序。这种情况再也不会发生了。还有更多,但这将是一个更长的帖子。
  3. 绝对减少了电量。例如,当您打开地图视图时,GPS会一直运行,并且GPS图标可见。新的情况并非如此。这让用户想知道发生了什么。这不再是一个大问题。
  4. 因此,当涉及到位置输出和工作时,一切都会更好。但是有一些缺点:

    1. 您必须安装Google Play服务,这意味着它不适用于任何“非谷歌批准”的手机型号,在某些情况下,您必须告诉用户他们需要安装它。

    2. API本身是更复杂的IMO,部分原因是由于第1点。除了“常规”回调,即等待位置修复等。您现在有一个过程,在您开始之前参与你必须检查playservices是否可用,并“连接”locationclient。这是额外的代码,有点复杂。在代码中也要考虑更多错误的条件(如果你感到困扰......)

    3. Google Play服务本身至少需要2.2,因此它不适用于旧设备。我们不得不告诉一些客户他们必须升级......

    4. 希望这有帮助。