我想继续监听位置更新,即使我的应用程序被销毁(或关闭),我是否必须为此运行服务?除了described here之外,连续位置更新的最佳实践是什么。
答案 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或平面文件以便读取位置信息可能是有意义的,因为绑定到服务可能需要一些时间。