метод. Вам нужно будет сохранить ссылку на эту задачу и вызвать ее метод отмены, чтобы отменить загрузку.

могу отменить загрузку из Firebase?

Я хочу отменить загрузку каждый раз, когда нажимаюProgressDialog.

Вот часть, где моя активность загрузкиExamesActivity.java является. Это выглядит как:

//Download the File on Button(Download) click:
        bDownload.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                //Initalizing teh Spinner-to-String functions:
                Grade = spClasse.getSelectedItem().toString();
                Type = spEpoca.getSelectedItem().toString();
                Subject = spDisciplina.getSelectedItem().toString();
                Year = spAno.getSelectedItem().toString();

                //Download the File:
                //First Check if ON the Spinner, everything is choosen. It should be. If not, show error Toast.
                if (Grade.equals("...") | Type.equals("...") | Disciplina.equals("...") | Year.equals("..."){

                    //Show the The Error Toast:
                    Toast.makeText(ExamesActivity.this, "everything shall be choosen", Toast.LENGTH_SHORT).show();

                } else {                                          //What the dir would look like: "Subject/Grade/Year-Type.extension"
                    pdfRef = mStorageRef.child(Subject + "/" + Grade + "/" + Year + "-" + Type + ".pdf");
                    File root = android.os.Environment.getExternalStorageDirectory();
                    File dir = new File(root.getAbsolutePath() + "/Exams-App/");

                    //Show the ProgressDialog while downloading:
                    progressDialog.show();

                    if (!dir.exists()) {
                        dir.mkdirs();
                    }

                    localFile = new File(dir, Subject + "-" + Year + "-" + Grade + "-" + Type + ".pdf");


                    pdfRef.getFile(localFile).addOnSuccessListener(new OnSuccessListener<FileDownloadTask.TaskSnapshot>() {
                        @Override
                        public void onSuccess(FileDownloadTask.TaskSnapshot taskSnapshot) {
                            // Local temp file has been created
                            progressDialog.dismiss();
                            Toast.makeText(ExamesActivity.this, "Exam was successfully downloaded!️",  Toast.LENGTH_SHORT).show();
                        }
                    }).addOnFailureListener(new OnFailureListener() {
                        @Override
                        public void onFailure(@NonNull Exception exception) {
                            // Handle any errors
                            progressDialog.dismiss();
                            Toast.makeText(ExamesActivity.this, "Exam not found on the server.", Toast.LENGTH_LONG).show();
                        }

                    }).addOnProgressListener(new OnProgressListener<FileDownloadTask.TaskSnapshot>() {
                        @Override
                        public void onProgress(FileDownloadTask.TaskSnapshot taskSnapshot) {
                            //Some math to get the Percentage of the Download :)
                            double progressPercentage = (100.0 * taskSnapshot.getBytesTransferred()) / taskSnapshot.getTotalByteCount();
                            double size = (taskSnapshot.getTotalByteCount()) / (1000000);
                            progressDialog.setMessage("PDF Size: " + (size) + " - " + ((int) progressPercentage) + "% - Click away to cancel the download.");

                        }
                    });
                }
            }
        });

Ответы на вопрос(1)

Ваш ответ на вопрос