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;
}
}