Я обнаружил, что событие кнопки "Назад" использует ProgressDialog, который имеет значение "show'n", поэтому действие не может действовать при отмене. Мне пришлось добавить слушателя в диалоге:
mProgress = ProgressDialog
.show(this, getText(R.string.progress_title),
getText(R.string.progressing), true, true,
new OnCancelListener() {
public void onCancel(DialogInterface pd) {
handleOnBackButton();
}
});
Nevermind.
Я обнаружил, что гораздо удобнее использовать диалоговое управление Activity и добавлять onDismissListener во время onCreateDialog. Слушатель может отменить задачу. Нет необходимости хранить ссылку на диалоговое окно, и это единственное место, которое нам нужно выслушать для отмены пользователя.