Android - Firebase - TaskSnapshot - Méthode ne doit être accessible à portée privée?
Tout fonctionnait très bien... jusqu'à ce que je suis venu travailler à partir de 3 mois de pause et de mettre à jour mon Firebase de 9,8 à 10.0.1
Maintenant tous mes appels à TaskSnapshot
donnez moi une erreur.
Voici l'exemple de code qui fonctionnait bien avant:
OnSuccessListener<UploadTask.TaskSnapshot> successListener = new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
attachments.add(fileName + "*-*" + taskSnapshot.getDownloadUrl().toString());
numberOfCallbacks++;
if (numberOfFiles == numberOfCallbacks) {
currentUpload = false;
onClickSendAlert(sendingView);
}
}
};
L'erreur que je reçois est en ce qui concerne taskSnapshot.getDownloadUrl()
.
Android Studio souligne le fait que la ligne en rouge et dit:
Cette méthode ne doit être accessible à partir de tests ou à l'intérieur portée privée
Quelqu'un peut m'expliquer pourquoi ce qui se passe? J'ai fait des recherches toute la journée pour deux jours de suite maintenant et ne peux pas pour la vie de me comprendre (embarrassante).
Pour ce que ça vaut, ce code est utilisé pour télécharger un fichier de Firebase de Stockage, puis, quand il est complet (OnSuccess
), il obtient l'URL de téléchargement et le stocke dans la Firebase Base de données. Cela fonctionnait très bien avant que j'ai mis à jour à 10.0.1. Je reçois la même erreur sur mon tâches de téléchargement dans un autre module.
Voici une capture d'écran pour vous donner un meilleur visuel de ma situation:
- Je dois ajouter que, dès que je change Firebase et Google Play Service de retour à 9.8.0 toutes les erreurs disparaissent.
- L'aide d'Android Studio, quand je clic sur une occurrence de
TaskSnapshot.getDownloadUrl()
et appuyez sur Ctrl-B pour voir les décompilé fichier de classe, la déclaration que je vois estpublic android.net.Uri getDownloadUrl()
. Ne voyez-vous cela aussi? - Je vais avoir le même problème. Va revenir à 9.8.0 et voir si je peux obtenir des choses de travail.
- J'ai fini par retrograder 9.8.0 ainsi et tout est allé de nouveau à la normale. Je déteste que je n'ai pas le temps de comprendre cela. À moins que quelqu'un à cette question, je vais être coincé sur 9.8.0. Ce projet est presque terminé de toute façon si il ne doit donc pas fait beaucoup de mal.
- Je suis aussi apprendre cela, mais je suis en mesure de construire, donc je ne sais pas pourquoi il est de repérage comme une erreur plutôt que d'un avertissement. Voudrais savoir quelle méthode correcte est.
- J'obtiens le même comportement et était curieux de savoir si quelqu'un l'a signalée à Firebase. Il ne semble pas affecter la compilation.
- Le firebase lignes directrices, même utilisez cette méthode pour leurs exemples: firebase.google.com/docs/storage/android/upload-files . Doit être une erreur. Pas le meilleur, mais: désactiver l'inspection
- Pour moi, cette erreur s'affiche avec android studio 2.3, avant la mise à niveau, j'ai été en utilisant 10.2.0 sans problèmes.
Vous devez vous connecter pour publier un commentaire.
Le problème semble être causé par un excès de zèle des Peluches vérifier. Essayez quelque chose comme ceci:
Cette astuce a fonctionné pour moi. Si le problème est lié à la ce rapport de bug, alors il doit être fixé dans 2.4.
J'ai été coincé dans le même numéro, et suppressWarnings ne fonctionne pas pour moi.
Pour obtenir le téléchargement complet Uri j'ai utilisé le code suivant:
Espère que cela aide quelqu'un.
J'ai eu le même problème et il a disparu quand j'ai mis à jour mon Firebase version. J'ai été en utilisant 10.0.1, et maintenant je suis en utilisant 11.0.0