cuerpo:
Este método se supone que devolver el downloadURL pero sigue regresando nula y la parte extraña es, puedo ver la URL en el registro
private String profileUrlPath(byte[] profile){
mStorageReference.child("card_profile").child(userId+".jpg").putBytes(profile).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
profilepathref.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
@Override
public void onSuccess(Uri uri) {
if(uri != null){
profileUrl = uri.toString();
Log.d(TAG, "profile image Url: " + profileUrl);
}
}
});
}
});
return profileUrl;
}
jokster:
Se registra un manejador de éxito en una tarea asíncrona. No hay garantía de que la línea profileUrl = uri.toString();
se ejecuta.
Hay una probabilidad muy alta, que no está antes de volver de profileUrlPath
.
Además, puede haber problemas de concurrencia.