Android:LocationManager.addProximityAlert()和LocationClient.addGeofences()之间的区别
作者:互联网
这两者都用作一旦用户进入/退出给定兴趣点就通知的机制.各自的优点和缺点是什么?
解决方法:
来自前一段时间切换到Google Play服务的人,我可以给你一些经验:
我有一个大约2.5岁的应用程序,广泛使用位置服务.当然,从一开始我们就使用了LocationManager,因为这是Android平台上的可用内容.
与IOS相比,Android上的位置服务体验非常糟糕.它比我们的IOS应用程序有缺陷,不可靠,并且提供的位置不太精确,而且它耗尽了更多的电量.这是一个阻力.
因此,当谷歌在今年夏天推出新的API时,我们就跳了起来.这样更好.有几件事:
>它更快,更可靠.
>它不那么多了.例如,在旧的API中,我们有时会得到一个带有新时间戳的“旧”修复程序.这种情况再也不会发生了.还有更多,但这将是一个更长的帖子.
>它肯定会耗尽更少的电池.例如,当您打开地图视图时,GPS会一直运行,并且GPS图标可见.新的情况并非如此.这让用户想知道发生了什么.这不再是一个大问题.
因此,当涉及到位置输出和工作时,一切都会更好.但是有一些缺点:
>您必须安装Google Play服务,这意味着它不适用于任何“非谷歌批准”的手机型号,在某些情况下,您必须告诉用户他们需要安装它.
> API本身是更复杂的IMO,部分原因是由于第1点.除了“常规”回调,即等待位置修复等.您现在有一个进程,在您可以开始之前参与,您必须检查playservices可用,并“连接”locationclient.这是额外的代码,有点复杂.在代码中也要考虑更多错误的条件(如果你可能会被打扰……)
> Google Play服务本身至少需要2.2,因此它不适用于旧设备.我们不得不告诉一些客户他们必须升级……
希望这可以帮助.
标签:geofencing,android-geofence,android,locationmanager 来源: https://codeday.me/bug/20190728/1564228.html