Android Back Button and Progress Dialog Android Back Button and Progress Dialog android android

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


This can be achieved by the following code fragment:

progress.setCancelable(true);progress.setCanceledOnTouchOutside(false);

progress is the ProgressDialog object...

This will enable the back button to close the dialog but prevent any touch input to do that...


Well, I had the same issue. The simplest method that worked for me is using progressDialog.setCancelable(true).. This declares whether the dialog is cancelable by hitting the back key.. Try it and let me know if it works for you or not. Good luck