我的需求是:
1. 在应用程序启动时立即启动位置服务。 2. 持续获取位置更新并将其存储到共享首选项中。 3. 在应用程序生命周期的onDestroy中停止服务!
到目前为止,我已经搜索和学习了服务相关的内容(如果我错了,请纠正我):
1. 通过将服务绑定到相关活动/片段/视图来自动停止服务,当所有这些组件被销毁时,服务会自动解除绑定,因此我们可以在unbind方法中调用stopself方法。 2. 在onStartCommand中返回START_NOT_STICKY,告诉操作系统不要重新创建服务,并创建意图本地服务,在完成某些工作后它会自行销毁。 3. 通过在某种静态范围内声明其意图并在Application类的onActivityDestroyed中停止服务来手动停止服务(我不确定会发生什么?也许每次销毁任何活动时服务都会被销毁?还是只有整个应用程序被销毁时才会被销毁?)
无论哪种方式,我都有点困惑和筋疲力尽,已经试图根据给定的细节来调整我的位置服务已经两天了。