Android Back Button and Progress Dialog
First, you should show your dialog from OnPreExecute
, hide it in OnPostExecute
, and - if necessary - modify it by publishing progress. (see here)
Now to your question: ProgressDialog.show()
can take a OnCancelListener
as an argument. You should provide one that calls cancel()
on the progress dialog instance.
example:
@Override protected void onPreExecute(){ _progressDialog = ProgressDialog.show( YourActivity.this, "Title", "Message", true, true, new DialogInterface.OnCancelListener(){ @Override public void onCancel(DialogInterface dialog) { YourTask.this.cancel(true); finish(); } } ); }
where _progressDialog
is a ProgressDialog
member of YourTask
.
This class was deprecated in API level 26. ProgressDialog is a modal dialog, which prevents the user from interacting with the app. Instead of using this class, you should use a progress indicator like ProgressBar, which can be embedded in your app's UI. Alternatively, you can use a notification to inform the user of the task's progress. LINK