2017-07-14 84 views
0

我還沒有使用身份驗證,在屏幕上我可以看到進度對話框工作,但它沒有停止。我認爲有一個問題。我想使用android studio將圖片上傳到firebase但它不工作,我的代碼出了什麼問題?

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

if(requestCode==GALLERY_INTENT&&resultCode==RESULT_OK){ 

    progressDialog.setMessage("Uploading Image..."); 
    progressDialog.show(); 

    Uri uri = data.getData(); 
    StorageReference filepath = mStorageRef; 
    filepath.putFile(uri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() { 
     @Override 
     public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) { 
      progressDialog.dismiss(); 
      Toast.makeText(Profile.this, "Uploading Finished",Toast.LENGTH_LONG).show(); 
     } 
    }); 
} 

}

//火力存儲規則

service firebase.storage { 
    match /b/csapplication-b6e5e.appspot.com/o { 
    match /{allPaths=**} { 
     allow read, write: if request.auth == null; 
    } 
    } 
} 

回答

0

它,因爲,如果你的文件上傳到火力成功意味着你ProgressDialog將被解僱,如果不能在出現故障的情況下,你必須在下面的代碼中關閉OnFailure方法中的(ProgressDialog)。

filepath.putFile(uri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() { 
    @Override 
    public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) { 
     progressDialog.dismiss(); 
     Toast.makeText(Profile.this, "Uploading Finished",Toast.LENGTH_LONG).show(); 
    } 
}).addOnFailureListener(new OnFailureListener() { 
@Override 
public void onFailure(@NonNull Exception exception) { 
    // Handle unsuccessful uploads - Dismiss the ProgressDialog here 
    progressDialog.dismiss(); 
    Toast.makeText(Profile.this, "Unable to Uploaded Error in Firebase",Toast.LENGTH_LONG).show(); 
}}); 
相關問題