私は外部記憶装置を介してfirebaseストレージに写真をアップロードしようとしています。私のアプリケーションでは、試験と写真の2種類のタイムテーブルがあります。 upload_timetableまたはupload_examの間にstringExtraを渡す方法です。onActivityResult()
は、upload_timetableまたはupload_examから作成することができます。onActivityResult()でstringExtraを取得する方法をインテントに渡しますか?
私はこの方法を実装しました。しかし、私はupload_timetableまたはupload_exam をクリックした場合、私はいつもトーストにエラー私は
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == GALLERY_INTENT && resultCode == RESULT_OK)
{
String sTypes = data.getStringExtra(sExamType);
StorageReference reference;
if(TextUtils.equals(sTypes,"timetable") && !TextUtils.isEmpty(sTypes) {
reference = mStorageRef.child(college).child(branch).child(year).child(section).child("timetable");
}else if(TextUtils.equals(sTypes,"timetable") && !TextUtils.isEmpty(sTypes)
{
reference = mStorageRef.child(college).child(branch).child(year).child(section).child("exam");
}else
{
Toast.makeText(getApplicationContext(),"error",Toast.LENGTH_SHORT).show():
}
progressDialog.setMessage("Image Uploading....");
progressDialog.show();
Uri uri = data.getData();
reference.putFile(uri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
Toast.makeText(getApplicationContext(),"Photo Uploaded!!!",Toast.LENGTH_SHORT).show();
progressDialog.dismiss();
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Toast.makeText(getApplicationContext(),"Unable to Upload!!!",Toast.LENGTH_SHORT).show();
progressDialog.dismiss();
}
});
}
}
両方のアクションはギャラリーインテントタイプですが、他のタイプに置き換えることはできません。 –
私は私の答えを更新しました。コードの上記の –
が働いた。そして値を変更するだけでとても簡単でした。ありがとう –