让用户定位练习服务

时间:2016-06-23 15:36:41

标签: android service location

我再一次面临一个问题。我正在设置一个alarmManager来启动一个服务,每分钟都能获得用户的位置。我的问题是,这是最好的做法吗?要每分钟重新创建服务,请创建并注册新的位置侦听器并等待一个OnLocationChanged回调?或者有更简单,更漂亮的方式吗?此外,不要伪造,屏幕将关闭,设备处于睡眠状态,因此我也需要使用WakeLock

1 个答案:

答案 0 :(得分:0)

您可以简单地启动服务一次,获取唤醒锁定,然后轮询该位置,时间间隔为60秒。这将消除每次重新创建服务的需要。但是,如有必要,您的服务可能会被Android杀死。您可以通过在START_STICKY中返回onStartCommand()来自动重新启动它。

作为一般规则,每分钟获取一个位置将非常耗费电池,应该避免,特别是长时间使用。