繁体   English   中英

在服务或Android活动中注册位置更新更好吗?

[英]Is it better to register for Location updates in Service or in Activity for Android?

在我正在开发的一个应用程序中,我正在服务中注册位置更新。 这是更好的方法吗? 这样,应用程序逻辑将使服务在应用程序之前一直处于活动状态。

有时我遇到问题,例如,一旦服务运行且位置更新正常工作。 但是大约4-5个小时后,位置更新会自动停止,因此我相信一段时间后系统会自动停止服务。 如果我在这里错了,请纠正我。

在这种情况下,我将不得不从活动而非服务中注册位置侦听器。 有人可以告诉我我是否正确理解它?

但是大约4-5个小时后,位置更新会自动停止,因此我相信一段时间后系统会自动停止服务。

这听起来像onStartCommand()需要return START_STICKY ,这应该使您的服务一直保持到明确停止为止(请确保您的用户知道此持续运行的服务会增加电池的电量,具体取决于您执行的所有服务) )。

在这种情况下,我将不得不从活动而非服务中注册位置侦听器。

在Activity的上下文中注册了任何侦听器后,该侦听器将仅在该Activity具有用户焦点时才能正确运行(请参阅管理应用程序生命周期 )。 当您的活动被暂停或杀死时,您的聆听也将停止; 远程服务是更好的选择。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM