Sto cercando di inserire un'immagine che ho aggiunto alla mia memoria Firebase su un dispositivo Android. Ogni volta che viene eseguito, visualizzo questo errore dal listener onFailure:FirebaseStorage che restituisce un errore sconosciuto durante la richiesta dell'immagine
E/StorageException (9646): si è verificato un errore sconosciuto, verificare il codice del risultato HTTP e l'eccezione interna per la risposta del server. E/StorageException (9646): Codice: -13000 HttpResult: 0
Ho anche modificato le autorizzazioni sull'archiviazione per avere la lettura/scrittura per il momento per assicurarsi che non sia questo il problema.
Grazie in anticipo per qualsiasi aiuto.
final ImageView test = (ImageView) findViewById(R.id.test_image);
StorageReference ref = storage.getReferenceFromUrl("gs://my-project.appspot.com/test_image.png");
ref.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
@Override
public void onSuccess(Uri uri) {
Log.d(TAG, "Successfully loaded uri");
test.setImageURI(uri);
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.d(TAG, "Failed loaded uri: " + e.getMessage());
}
});
Si sta effettivamente eseguendo esattamente quel codice o si è sostituito "gs: //bucket/image.png" con il proprio "bucket" effettivo (qualcosa come "projectid.appspot.com") e il percorso dell'immagine? –
Sì, l'ho sostituito con il nome e il file del mio bucket effettivo. Modificato il codice per riflettere meglio quel punto. – johnsoe
Puoi indicare qual è l'eccezione interna all'interno di StorageException? Ho appena notato che httpresult è zero. Questo suggerisce che la richiesta di ottenere l'url di download non è mai stata fatta. Un modo in cui ciò può accadere è se i servizi di riproduzione non vengono aggiornati sul telefono. Saprete che questo è l'errore perché adb logcat mostrerà un errore con qualcosa sull'effetto di "Impossibile caricare il livello di rete di archiviazione". –