gpt4 book ai didi

android - task.getResult().getDownloadUrl() 方法不起作用

转载 作者:行者123 更新时间:2023-11-29 18:36:46 26 4
gpt4 key购买 nike

private void storeFirestore(@NonNull Task<UploadTask.TaskSnapshot> task, String user_name) 
{

Uri download_uri;

if(task != null) {

download_uri = task.getResult().getDownloadUrl();

} else {

download_uri = mainImageURI;

}

Map<String, String> userMap = new HashMap<>();
userMap.put("name", user_name);
userMap.put("image", download_uri.toString());

firebaseFirestore.collection("Users").document(user_id).set(userMap).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {

if(task.isSuccessful()){

Toast.makeText(SetupActivity.this, "The user Settings are updated.", Toast.LENGTH_LONG).show();
Intent mainIntent = new Intent(SetupActivity.this, MainActivity.class);
startActivity(mainIntent);
finish();

} else {

String error = task.getException().getMessage();
Toast.makeText(SetupActivity.this, "(FIRESTORE Error) : " + error, Toast.LENGTH_LONG).show();

}

setupProgress.setVisibility(View.INVISIBLE);

}
});


}

getDownloadUrl 无法正常工作,下面有红线,或者 downloadUrl 是否需要为其添加方法。

最佳答案

在 Firebase 存储 API 版本 16.0.1 中。如果按如下方式使用,则 getDownloadUrl() 方法不起作用download_uri = task.getResult().getDownloadUrl();

因此我们需要使用 Storage 引用才能使用 getDownloadUrl() 方法,如下所示:


final UploadTask uploadTask = filepath.putFile(resultUri);

uploadTask.addOnSuccessListener(new OnSuccessListener<TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
taskSnapshot.getStorage().getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
@Override
public void onSuccess(Uri uri) {
String download_url = uri.toString();
}
});
}
});`

关于android - task.getResult().getDownloadUrl() 方法不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54009384/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com