Android 忽略continueWithTask方法

Android 忽略continueWithTask方法,android,firebase,firebase-realtime-database,firebase-storage,Android,Firebase,Firebase Realtime Database,Firebase Storage,单击按钮时,将从库中拍摄照片(addPhotomethod) 在onActivityResult方法中,照片上载到Firebase存储器,并带有收到的密钥(donosId变量)的名称 然后,为了获得图像的URL,我们使用continueWithTask方法,将生成的URL放入Firebase数据库中 问题:continueWithTask方法未启动(使用日志检查+URL值保持空)。错误是什么,或者如何从URL方法(Uri类型的变量)返回 代码: public void addPhoto(视图){

单击按钮时,将从库中拍摄照片(
addPhoto
method)

在onActivityResult方法中,照片上载到Firebase存储器,并带有收到的密钥(
donosId
变量)的名称

然后,为了获得图像的URL,我们使用
continueWithTask
方法,将生成的URL放入Firebase数据库中

问题:
continueWithTask
方法未启动(使用日志检查+URL值保持空)。错误是什么,或者如何从URL方法(Uri类型的变量)返回

代码:

public void addPhoto(视图){
意向照片采集器内容=新意向(意向.行动\u采集器);
photopickerinent.setType(“image/*”);
startActivityForResult(照片采集器、画廊申请);
}
@凌驾
受保护的void onActivityResult(int-requestCode、int-resultCode、@Nullable-Intent-data){
super.onActivityResult(请求代码、结果代码、数据);
if(requestCode==1&&data!=null){
final DatabaseReference newDatabaseReference=FirebaseDatabase.getInstance().getReference(“items”).push();
donosId=newDatabaseReference.getKey();
final StorageReference imageRef=FirebaseStorage.getInstance().getReference().child(“images/”+donosId+“.jpg”);
imageRef.putFile(data.getData()).continueWithTask(新的Continuation()){
@凌驾
公共任务(@NonNull Task Task)引发异常{
如果(!task.issusccessful()){
抛出task.getException();
}
//继续执行任务以获取下载URL
返回imageRef.getDownloadUrl();
}
}).addOnCompleteListener(新的OnCompleteListener(){
@凌驾
未完成的公共void(@NonNull任务){
if(task.issusccessful()){
Uri downloadUri=task.getResult();
String var=downloadUri.toString();
Item Item=新项(mNameEditText.getText().toString(),
mSecNameEditText.getText().toString(),变量,
(int)System.currentTimeMillis());
newDatabaseReference.setValue(项);
}
}
});
}
}
我不知道为什么该函数没有在内部运行,并且无法访问下载的URL,但该图像已上载到Firebase Storge

public void addPhoto(View view) {
        Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
        photoPickerIntent.setType("image/*");
        startActivityForResult(photoPickerIntent, GALLERY_REQUEST);
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        if (requestCode == 1 && data != null) {

            final DatabaseReference newDatabaseReference = FirebaseDatabase.getInstance().getReference("items").push();

            donosId = newDatabaseReference.getKey();

            final StorageReference imageRef = FirebaseStorage.getInstance().getReference().child("images/" + donosId + ".jpg");

            imageRef.putFile(data.getData()).continueWithTask(new Continuation<UploadTask.TaskSnapshot, Task<Uri>>() {
                @Override
                public Task<Uri> then(@NonNull Task<UploadTask.TaskSnapshot> task) throws Exception {
                    if (!task.isSuccessful()) {
                        throw task.getException();
                    }

                    // Continue with the task to get the download URL
                    return imageRef.getDownloadUrl();
                }
            }).addOnCompleteListener(new OnCompleteListener<Uri>() {
                @Override
                public void onComplete(@NonNull Task<Uri> task) {
                    if (task.isSuccessful()) {

                        Uri downloadUri = task.getResult();

                        String var = downloadUri.toString();

                        Item item = new Item(mNameEditText.getText().toString(),
                                mSecNameEditText.getText().toString(), var,
                                (int) System.currentTimeMillis());
                        newDatabaseReference.setValue(item);

                    }
                }
            });

        }
    }