活动被破坏时的长时间运行任务
问题描述:
我想在用户关闭应用程序后运行网络请求,即在应用程序的活动上调用onStop
和onDestroy
。问题是我也想等待服务器的响应并在获取它之后在本地保存一些数据,以便在完全关闭应用程序后可能需要完成整个过程。活动被破坏时的长时间运行任务
Android中是否有任何一种后台服务,在应用程序关闭后不会终止,并且会等待请求完成(至少在某个合理的时间内)?
答
解决方案是非UI片段。以下是我创建的示例: https://github.com/kadymuhammad/Non-UI-Fragment。 您也可以看到这个答案https://*.com/a/21336010/5186466 即使活动已暂停但在非UI片段内部使用Asynctask,但如果应用程序任务停止,我将停止。 完美的解决方案是使用Service或IntentService类。 查看结果: http://www.tutorialspoint.com/android/android_services.htm
是的。看看[这里](https://developer.android.com/training/run-background-service/create-service.html)。但真正抓住的是确定你认为你的应用程序正在关闭的正确时间。 –
您可以在用户关闭应用程序时启动服务。在该服务内部尝试处理你需要做的事情。 –
@AhmedKhalaf这看起来不错。请您详细说明为什么确定合适的时间可能会成为问题?我不能在'onDestroy'上启动这样的服务吗? – Anton