0

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

4

1 回答 1

0

如果您将 Locmanager 放入服务中(获取积分和存储)会更好。您应该始终假设用户喜欢多任务处理,或者至少有些用户会在使用您的应用程序时接到电话。有了这个实现,您将严重依赖意图。

于 2013-10-24T08:39:56.717 回答