Используя следующий код, который отменяет AsyncTask, когда пользователь нажимает кнопку BACK мобильного устройства.Ручка progressdialog в AsyncTask
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);
}
Вышеупомянутая реализация отменяет AsyncTask, когда пользователь нажимает кнопку BACK мобильного устройства.
Поскольку задача - долгое время, я хочу предоставить пользователю предупреждение (предупреждение) о том, хочет ли пользователь отменить операцию или нет, когда пользователь нажимает кнопку BACK на мобильном устройстве.
Я не получаю кнопку НАЗАД обратный вызов на onBackPressed() когда progressdialog отображается & пользователь нажимает на кнопку назад.
Другой вопрос, который я столкнулся в Samsung Tablet P6200 & не в Android эмулятора:
Когда progressdialog отображается & пользователь касается экрана за пределами progressdialog области, progressdialog увольняет.
Как я могу прекратить отклонение progressdialog?
Любые предложения/подсказки для реализации того же будут полезны.
}
Спасибо за ваш комментарий. Я вызываю mDialog.show() из onPreExecute() из AsyncTask. Как отображать предупреждение, когда пользователь нажимает кнопку BACK? – chiranjib
Используйте 'setOnCalcelListener()' –