Android:继续倾听位置更新

时间:2011-04-25 22:42:04

标签: android location

我想继续监听位置更新,即使我的应用程序被销毁(或关闭),我是否必须为此运行服务?除了described here之外,连续位置更新的最佳实践是什么。

3 个答案:

答案 0 :(得分:3)

如果您的应用程序被操作系统销毁,那么它将不会执行任何操作。如果需要,活动服务都可以被操作系统杀死。此外,除非您请求 WAKE_LOCK ,否则如果手机进入睡眠状态,您将无法获得更新。

话虽如此,是的,您想创建一个Service来实现locationListener并对onLocationChanged()作出适当的回应。这样,应用程序仍将在后台接收更新。

答案 1 :(得分:2)

更好的是你可以使用它: public void addProximityAlert(double latitude,double longitude,float radius,long expiration,PendingIntent intent)

即使应用未通过广播运行,也会触发意图。以广播开始一个serviceintent来运行你的代码。该服务将在完成后终止。

答案 2 :(得分:0)

是的,使用服务是在销毁应用程序后连续监控位置的唯一安全方法。将您的位置信息保存到SQLite DB或平面文件以便读取位置信息可能是有意义的,因为绑定到服务可能需要一些时间。