0
我想在应用程序关闭时运行异步任务,只有这样才能完成。我试着把它放在onDestroy()方法中,但它只是有时会被调用(比如应用程序崩溃时)。我也尝试将它放在onPause()方法上,但它也在用户试图查看不同的应用程序时运行,而不是仅在应用程序关闭时运行。谢谢!当应用程序仅关闭时运行异步任务
真诚,洛基
我想在应用程序关闭时运行异步任务,只有这样才能完成。我试着把它放在onDestroy()方法中,但它只是有时会被调用(比如应用程序崩溃时)。我也尝试将它放在onPause()方法上,但它也在用户试图查看不同的应用程序时运行,而不是仅在应用程序关闭时运行。谢谢!当应用程序仅关闭时运行异步任务
真诚,洛基
您应该使用的Thread
代替AsyncTask
,但如果你想使用AsyncTask
你需要做到以下几点:
不要在AsyncTask
更新UI因为onDestroy
会删除该活动的资源和上下文。如果您尝试更新它们,它会崩溃。
当您创建AsyncTask
,因为活动被破坏后的活动Context
无效,请使用该应用程序Context
不是活动Context
。的
重复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 –
尝试调用完成()on onBackPressed()'并检查'onDestroy()'被调用? –
使用服务在后台运行.. –