我有 AsyncTask,在它完成之后,我在 onPostExecute 中显示了一些警报对话框。它工作正常。但是,如果在 doInBackground 期间活动停止,则在执行 AsyncTask 后,在活动重新启动后不会显示警报对话框,并且如果正在显示对话框,活动布局也会以同样的方式变暗。
public class CheckPin extends AsyncTask<String, Void, Integer>{
@Override
protected Integer doInBackground(String... uri) {
publishProgress();
//some code
return ret;
}
@Override
protected void onProgressUpdate(Void... values) {
super.onProgressUpdate(values);
showDialog(CHECKING_PIN);
}
@Override
protected void onPostExecute(Integer result) {
super.onPostExecute(result);
dismissDialog(CHECKING_PIN);
AlertDialog.Builder mBuilder = new AlertDialog.Builder(EnterPin.this);
mBuilder.setMessage("Error")
.setCancelable(false)
.setPositiveButton(getString(R.string.yes), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
finish();
}
});
final AlertDialog mAlert = mBuilder.create();
mAlert.show();
break;
}
}