2016-02-24 65 views
0

我想在应用程序关闭时运行异步任务,只有这样才能完成。我试着把它放在onDestroy()方法中,但它只是有时会被调用(比如应用程序崩溃时)。我也尝试将它放在onPause()方法上,但它也在用户试图查看不同的应用程序时运行,而不是仅在应用程序关闭时运行。谢谢!当应用程序仅关闭时运行异步任务

真诚,洛基

+0

重复http://stackoverflow.com/questions/5593115/run-code-when-android-app-is-closed-sent-to-background和http://stackoverflow.com/questions/ 5747803 /运行代码程序退出在java中和http://stackoverflow.com/questions/18827085/run-service-even-if-the-application-is-closed-killed –

+0

尝试调用完成()on onBackPressed()'并检查'onDestroy()'被调用? –

+0

使用服务在后台运行.. –

回答

2

您应该使用的Thread代替AsyncTask,但如果你想使用AsyncTask你需要做到以下几点:

  1. 不要在AsyncTask更新UI因为onDestroy会删除该活动的资源和上下文。如果您尝试更新它们,它会崩溃。

  2. 当您创建AsyncTask,因为活动被破坏后的活动Context无效,请使用该应用程序Context不是活动Context。的

相关问题