为了将图片上传到Firebase Storage,我在StorageReference实例上附加了addOnSuccessListener。在覆盖onSuccess方法时,我调用了taskSnapshot实例上的getDownloadUrl(),但是它给出了一个错误,说“无法解析方法getDownloadUrl()”。
这个应用程序我2个月前创建的,早期这个应用程序工作得很好,getDownloadUrl()也很好用。此外,在taskSnapshot实例中,当我按Ctrl + space时,在建议中找不到getDownloadUrl()方法。为什么会发生这种情况?
onActivityResult()的代码:
这个应用程序我2个月前创建的,早期这个应用程序工作得很好,getDownloadUrl()也很好用。此外,在taskSnapshot实例中,当我按Ctrl + space时,在建议中找不到getDownloadUrl()方法。为什么会发生这种情况?
onActivityResult()的代码:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == RC_SIGN_IN) {
if (resultCode == RESULT_OK) {
Toast.makeText(this, "Signed in!!!1", Toast.LENGTH_SHORT).show();
} else if (resultCode == RESULT_CANCELED) {
Toast.makeText(this, "Failed to sign in", Toast.LENGTH_SHORT).show();
finish();
}
}
else if(requestCode == RC_PHOTO_PICKER && resultCode == RESULT_OK){
Uri selectedPhoto = data.getData();
StorageReference localRefrence = storageReference.child(selectedPhoto.getLastPathSegment());
// Uploading the file on the storage
localRefrence.putFile(selectedPhoto).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
Uri downloadUrl = taskSnapshot.getDownloadUrl();
FriendlyMessage message = new FriendlyMessage(mUsername, null, downloadUrl.toString());
databaseReference.push().setValue(message);
}
});
}
}
@SuppressWarnings("VisibleForTests") Uri downloadUrl = taskSnapshot.getDownloadUrl();
但仍然出现相同的错误。 - Neeraj SewanigetDownloadUrl()
显示为红色,所以我添加了它。 - Neeraj Sewani