首页 > 解决方案 > 确保在关闭应用程序之前完成服务(无需重试)

问题描述

我是安卓新手。我正在开发一个应用程序,该服务向我的后端发出三个请求,我需要确保在关闭应用程序之前完成请求。

我阅读了有关使用START_STICKY方法的信息onStartCommand,但是此选项使服务重试导致重复请求,例如,当服务仅发出第一个请求时应用程序关闭:

有没有其他方法可以确保服务在关闭前完成执行?

标签: android

解决方案


好吧,您似乎希望您的任务可靠并将数据发送到服务器,但时间并不重要(正如您所说,您可以重试,所以具体时间无关紧要)

对于这一特殊要求,您将获得 Android 的最新版本WorkManager

当您将任务请求交给WorkManager它时,它会根据工作条件(如网络可用性和电源)得到满足来运行,它确保您的任务在特定的时间间隔内完成。

根据文档以及有关的完整分步指南WorkManager

WorkManager 旨在用于可延迟的任务(即不需要立即运行)并且即使应用程序退出或设备重新启动也需要可靠地运行。
例如:

将日志或分析发送到后端服务定期同步

与服务器的应用程序数据

请查看此文档并按照指南了解更多信息


推荐阅读