0

我按下登录按钮登录到我的应用程序,我正在使用asyncTask这个过程。当我按下取消按钮时,它应该停止登录过程,但是当我按下取消按钮时会发生什么情况,对话框会出现,但登录过程并没有停止,并且最终用户已登录:)。

我曾经asyncTaskObject.cancel(true)停止该过程,但没有任何反应。我该如何纠正这一点。

4

1 回答 1

0

AsyncTask文档指出该方法取消():

尝试取消此任务的执行。如果任务已完成、已被取消或由于其他原因无法取消,则此尝试将失败。

文档中还提供了该解决方案,其中说:

调用此方法将导致在 doInBackground(Object[]) 返回后在 UI 线程上调用 onCancelled(Object)。调用此方法可确保永远不会调用 onPostExecute(Object)。调用此方法后,应定期从 doInBackground(Object[]) 中检查 isCancelled() 返回的值,以尽早完成任务。

检查此链接:

http://developer.android.com/reference/android/os/AsyncTask.html#cancel(boolean )

于 2012-06-26T18:16:51.583 回答