addOnSuccessListener (из Firebase) так и не был вызван, хотя метод PutFile успешно загрузил файл

#android #firebase #file #upload

#Android #firebase #файл #загрузка

Вопрос:

Я хотел бы загрузить локальный файл моего Android-устройства в хранилище Firebase.

Он успешно работает.

Но addOnSuccessListener или addOnFailureListener никогда не вызываются.

Не могли бы вы сообщить мне, почему?

========================

public void uploadFiles() {

     saveState("uploadFiles");
    StorageReference mStorageRef;
    mStorageRef = FirebaseStorage.getInstance().getReference();
    saveState("Firebase initialize");

    String dirName = Environment.getExternalStorageDirectory().getAbsolutePath();
    dirName  = "/Temp";

    File file = new File(dirName);
    files = file.listFiles();
    for (i = 0; i < files.length; i  ) {
        if (files[i].isFile() amp;amp; getFileExtension(files[i]).equals(".3GP")) {
            Uri uri = Uri.fromFile(files[i]);
            StorageReference filepath = mStorageRef.child("Record").child(files[i].getName());
            uploadTask = filepath.putFile(uri);
            uploadTask.addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
                @Override
                public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
                    saveState("onSuccess "   files[i].getName());
                }
            });
            uploadTask.addOnFailureListener(new OnFailureListener() {
                @Override
                public void onFailure(@NonNull Exception e) {
                    saveState("onFailure "   files[i].getName());

                }
            });

            saveState("Success to delete and upload upload "   files[i].getName());
            files[i].delete();
        }
    }
}
  

Комментарии:

1. Я думаю, что это проблема с аутентификацией. Я попытаюсь решить это еще раз.

2. Я устранил эту проблему, добавив аутентификацию.