我按下登录按钮登录到我的应用程序,我正在使用asyncTask
这个过程。当我按下取消按钮时,它应该停止登录过程,但是当我按下取消按钮时会发生什么情况,对话框会出现,但登录过程并没有停止,并且最终用户已登录:)。
我曾经asyncTaskObject.cancel(true)
停止该过程,但没有任何反应。我该如何纠正这一点。
我按下登录按钮登录到我的应用程序,我正在使用asyncTask
这个过程。当我按下取消按钮时,它应该停止登录过程,但是当我按下取消按钮时会发生什么情况,对话框会出现,但登录过程并没有停止,并且最终用户已登录:)。
我曾经asyncTaskObject.cancel(true)
停止该过程,但没有任何反应。我该如何纠正这一点。
该AsyncTask
文档指出该方法取消():
尝试取消此任务的执行。如果任务已完成、已被取消或由于其他原因无法取消,则此尝试将失败。
文档中还提供了该解决方案,其中说:
调用此方法将导致在 doInBackground(Object[]) 返回后在 UI 线程上调用 onCancelled(Object)。调用此方法可确保永远不会调用 onPostExecute(Object)。调用此方法后,应定期从 doInBackground(Object[]) 中检查 isCancelled() 返回的值,以尽早完成任务。
检查此链接:
http://developer.android.com/reference/android/os/AsyncTask.html#cancel(boolean )