当文件成功上传到onSuccessListener时如何返回布尔值?

问题描述 投票:0回答:1

首先看这个。我在submitProfile()内调用函数uploadUserPdf()

public void submitProfile() {
     if(!uploadUserPdf()) {
          return;
     }
     else {
        //...............
     }
}

这是uploadUserPdf()函数

private boolean uploadUserBiodataPdf() {
        Uri fileUri = Uri.parse(Pdf);
        final StorageReference storageReference = FirebaseStorage.getInstance().getReference().child("Pictures");
        StorageReference pdfRef = storageReference.child(mUser.getUid()).child(fileUri.getLastPathSegment());

        pdfRef.putFile(fileUri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
            @Override
            public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
                pdfRef.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
                    @Override
                    public void onSuccess(Uri uri) {
                        Pdf = uri.toString();
                        Toast.makeText(ContinueProfile.this, "Pdf Uploaded", Toast.LENGTH_LONG).show();
                    }
                });
            }
        });
        return false;
    }

我要如果文件成功上传,返回true。但是我找不到任何空间写return true。如果文件成功上传,是否可以返回true值?

首先看这个。我在SubmitProfile()内部调用了函数uploadUserPdf()public void SubmitProfile(){if(!uploadUserPdf()){return; } else {// ..................

android firebase firebase-storage
1个回答
1
投票

将文件上传到Firebase存储是异步进行的,因为这可能需要一些时间。当上传在后台进行时,您的主要代码继续在前台执行。然后,当上传完成时,将调用您的onSuccess

© www.soinside.com 2019 - 2024. All rights reserved.