requestlocation的Android生命周期更新功能

时间:2013-10-24 01:29:40

标签: android gps

我正在尝试理解当调用组件移出其可见/活动生命周期时,LocationManager的requestLocationUpdates(使用PendingIntent)如何工作。我知道如何使用removeUpdates取消意图,并且我已经阅读了有关如何在应用程序的主线程上启动服务,广播接收器和活动的所有文档,您可以创建工作线程以免破坏UI经验等等,但是当涉及到requestLocationUpdates这样的调用时,API会负责定期发送意图,当调用Activity超出其可见生命周期时,它会变得非常模糊。例如,如果我从Activity调用requestLocationUpdates(使用PendingIntent版本),并且操作系统停止了该Activity而没有我的代码调用该PendingIntent的removeUpdates,那么位置更新的PendingIntents是否会停止发送?如果活动被暂停怎么办?如果我希望即使活动超出其可见生命周期,甚至活动生命周期,位置更新仍会继续,我是否应该从我在Activity中创建的后台线程中启动的服务中调用requestLocationUpdates?对此的任何澄清将不胜感激。

1 个答案:

答案 0 :(得分:0)

如果你把Locmanager放在一个服务中(获得积分和存储)会更好。您应始终假设用户喜欢多任务或至少某些用户在使用您的应用时会接到电话。有了这个实现,你将非常依赖意图。