2012-03-28 80 views
3

在我开发atm的应用程序中。我使用asynctasks将视频上传到网站,因为现在如果应用程序进程被终止(用户使用后退键返回到主屏幕),那些asynctasks会丢失。理想情况下,我希望上传能够继续进行,尽管应用程序被杀害,但我认为这是不可能的。Android保留AsyncTask状态/进度

我不知道是否有办法保持他们的进展某种程度上(也许支持从网站API是必要的吗?),或者,如果不是至少保存asynctask的细节,并重新打开时,应用程序再次打开。

Vimeos应用程序似乎已经能够恢复视频上传,即使在杀死应用程序过程之后,这正是我希望实现的。

欣赏任何想法和建议。

回答

5

我想你可能会使用错误的架构。

任何需要在活动转换之间生存的东西都更适合服务。服务在后台运行(可能甚至在应用程序关闭后),并允许您长时间运行诸如执行上传等操作。

要终止应用程序进程但让服务继续运行,您可以使用清单中的android:process将该服务分配给单独的Android进程。 http://developer.android.com/guide/topics/manifest/service-element.html#proc

看到这个主题太: How to keep a service running in background even after user quits the app?