사용자가 모바일 장치의 BACK 키를 클릭 할 때 AsyncTask를 취소하는 다음 코드를 사용합니다.AsyncTask에서 progressdialog 처리
protected class UploadFiles extends AsyncTask<String, String, String> implements OnDismissListener {
private ProgressDialog mDialog;
protected void onPreExecute() {
super.onPreExecute();
mDialog = new ProgressDialog(UploadFiles.this);
mDialog.setMessage(progressMsg);
mDialog.setCancelable(true);
mDialog.setOnDismissListener(this);
mDialog.show();
}
protected String doInBackground(String... params) {
........
........
}
public void onDismiss(DialogInterface dialog) {
this.cancel(true);
}
protected void onCancelled() {
cancel(true);
}
위의 구현은 사용자가 모바일 장치의 BACK 단추를 클릭 할 때 AsyncTask를 취소합니다.
작업이 오래 걸리므로 사용자가 모바일 장치의 뒤로 단추를 클릭 할 때 작업을 취소할지 여부를 경고 (경고)하고 싶습니다.
progressdialog가 표시되면 에 BackPressed()의 BACK 버튼 콜백이 표시되지 않습니다. & 사용자가 뒤로 버튼을 클릭합니다.
내가하지 안드로이드 에뮬레이터에서 삼성 태블릿 P6200 &에 직면 한 또 다른 문제 :
해서 ProgressDialog는 사용자가해서 ProgressDialog 영역 외부 화면을 터치 & 표시되면해서 ProgressDialog는 일축.
진행률 표시를 닫지 않으려면 어떻게해야합니까?
동일한 구현을위한 제안/힌트가 도움이 될 것입니다. 당신이 다음을 취소하지 않을 것이다 대화 외부 도청 setCancelable(false)
를 사용하는 경우
}
주셔서 감사합니다. AsyncTask에서 onPreExecute()에서 mDialog.show()를 호출하고 있습니다. 사용자가 뒤로 버튼을 클릭 할 때 경고를 표시하는 방법? – chiranjib
'setOnCalcelListener()'사용 –