나는 firebase 기억 장치에 이미지를 업로드하고 url을 반환하는 기능이 있습니다 (활동 내부에는 없음). 내 문제는 UploadTask이 끝날 때까지 기다려야합니다. 그렇지 않으면 null 문자열이 반환됩니다. .청취자를위한 Firebase 저장 대기
public String pushRegisterImage(Bitmap image) {
StorageReference imagesRef = storage.getReferenceFromUrl(STORAGE_REF)
.child(FINDMYPET).child(IMAGES).child(String.valueOf(UUID.randomUUID()));
ByteArrayOutputStream baos = new ByteArrayOutputStream();
image.compress(Bitmap.CompressFormat.JPEG, 100, baos);
byte[] data = baos.toByteArray();
UploadTask uploadTask = imagesRef.putBytes(data);
uploadTask.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
imageUrl = null;
Log.e(LOG_TAG, "Image upload error: " + e);
}
}).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
imageUrl = taskSnapshot.getDownloadUrl().toString();
Log.v(LOG_TAG, "Image uploade sucess, url: " + imageUrl);
}
});
return imageUrl;
}
괜찮습니다. 감사합니다. –