我是Android新手。我正在开发一个应用程序,该服务向后端发出三个请求,因此我需要确保在关闭应用程序之前完成请求。
我了解了在START_STICKY
方法上使用onStartCommand
的情况,但是此选项使服务重试,从而导致重复请求,例如,例如,当服务仅发出第一个请求时,app已关闭:
START_STICKY
配置重试服务...
还有其他方法可以确保服务在关闭之前完成其执行吗?
答案 0 :(得分:1)
好吧,看来您希望自己的任务可靠并且可以将数据发送到服务器,但是时间并不重要(正如您所说的,您可以重试特定的时间,无关紧要)
对于这种微粒要求,您可以获得Android最新的WorkManager
将任务请求交给WorkManager
时,它会根据满足工作条件(例如网络可用性和电源)的时间运行,以确保任务在特定的时间间隔内完成。
根据docs以及有关WorkManager
的完整分步指南
WorkManager适用于可延期的任务,也就是说, 要求立即运行-并要求可靠运行,即使 应用程序退出或设备重新启动。
例如:将日志或分析发送到后端服务定期同步
服务器上的应用程序数据
请检查此文档并按照指南了解更多信息