Android - Firebase - W / NetworkRequest: нет авторизационного токена для запроса - PullRequest
0 голосов
/ 20 апреля 2020

Я пытаюсь загрузить изображение из внутреннего хранилища в мое хранилище Firebase и получить его DownloadUrl, чтобы связать его в моей базе данных в реальном времени. Изображение загружено, ссылка сохраняется в хранилище, но во время выполнения я получаю эту ошибку много раз;

E/StorageUtil: error getting token java.util.concurrent.ExecutionException: com.google.firebase.internal.api.FirebaseNoSignedInUserException: Please sign in before trying to get a token.
W/NetworkRequest: no auth token for request

сразу после загрузки изображения и URL-адреса у меня было это

Editar_Platillo_Menu.this.finish();

Чтобы закрыть всплывающее окно, поскольку оно выполняет свою функцию, но я заметил, что ошибка появлялась много раз, а затем, когда всплывающее окно закрывает все сбои приложения. Я подтвердил странное поведение, когда прокомментировал строку кода finish(); и ошибка просто зациклилась бесконечно.

Кроме того, я не использую Firebase Authentificaton, вот мои правила хранения Firebase:

  rules_version = '2';
service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
      // Allow access by all users
      allow read, write;
    }
  }
}

вот мой код для загрузки в Storage / RTDatabase:

StorageReference filereference = STRef.child(System.currentTimeMillis() + "." + getFileExt(Img));
                        filereference.putFile(Img).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
                            @Override
                            public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
                                Progress = false;
                                Toast.makeText(Editar_Platillo_Menu.this, "Listo.", Toast.LENGTH_LONG).show();
                                Task<Uri> result = taskSnapshot.getStorage().getDownloadUrl();
                                result.addOnSuccessListener(new OnSuccessListener<Uri>() {
                                    @Override
                                    public void onSuccess(Uri uri) {
                                        DBRef.child(i.getStringExtra(Adapter_Menu_Admins.EXTRA_IDPLATILLO_Edit)).child("Imagen").setValue(uri.toString());
                                    }
                                });
                            }
                        })
                        .addOnFailureListener(new OnFailureListener() {
                            @Override
                            public void onFailure(@NonNull Exception e) {
                                Progress = false;
                                Toast.makeText(Editar_Platillo_Menu.this, e.getMessage(), Toast.LENGTH_SHORT).show();
                            }
                        })
                        .addOnProgressListener(new OnProgressListener<UploadTask.TaskSnapshot>() {
                            @Override
                            public void onProgress(@NonNull UploadTask.TaskSnapshot taskSnapshot) {
                                Progress = true;
                            }
                        });

Это всплывающее окно появляется после того, как вы нажмете кнопку в представлении рециркулятора, которое использует базу данных realtimedatabase для показа изображений, связанных с данными (через свой URL) , я думаю, что это может быть связано с аварийным завершением приложения, но я больше ничего не вижу, мог бы использовать некоторую помощь.

Я видел, что все связывают эту проблему с правилами хранения, но я считаю, что полностью открыт, поэтому я не знаю, что происходит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...