我有一個活動,當開始時立即調用服務器查詢。以下是它的代碼。在AsyncTask中調用對話框拋出令牌錯誤
現在假設它開始AsyncTask
,我在onSuccess中得到響應。在我得到迴應之前,如果我非常活躍,我按下後退按鈕。
現在回調仍然會被調用,並顯示對話框會引發壞的令牌異常。無法添加窗口令牌,您的活動是否正在運行。我怎樣才能中斷這個AsyncTask i-e如果我按回執按鈕執行onSuccess
停止執行?
ResponseCallback callback = new ResponseCallback()
{
@SuppressWarnings("deprecation")
@Override
public void onSuccess(String response)
{
dialog = new AlertDialog.Builder(Chat.this).setMessage("BLABLA")
.setTitle("Invite!")
.setCancelable(true)
.setPositiveButton(android.R.string.ok,
new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int whichButton)
{
dialog.cancel();
sendInvite();
}
})
.setNegativeButton(android.R.string.cancel,
new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int whichButton)
{
dialog.cancel();
}
})
.show();
}
else
{
}
@Override
public void onFailure(String exception)
{}
};
new MyAsyncTask(queryString, callback);
你有沒有嘗試重寫'onBackPressed()'和''AsyncTask'上調用'cancel()'? – codeMagic
有,我有,還做了同樣的\t如果(的AsyncTask!= NULL)\t \t \t \t asyncTask.cancel(真); –
您可以將.show()包裝在「try/catch」中。這應該防止它顯示,如果'活動'是關閉 – codeMagic