【发布时间】:2017-11-10 21:34:52
【问题描述】:
我正在自学 FireBase 存储,因此我决定制作一个简单的应用程序,让用户选择一张图片并将其上传到 Firebase。 但是,一旦我选择要上传的图片,我的应用就会崩溃并说我的 URI 为空,即使我是从我选择的图片中获取它的
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, "Select Picture"), 1);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode != RESULT_OK) {
return;
}
if (requestCode == 1) {
final Bundle extras = data.getExtras();
if (extras != null) {
//Get image
path = extras.getParcelable("data");
}
StorageReference storageRef = FirebaseStorage.getInstance().getReference();
storageRef.putFile(path)
.addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
// Get a URL to the uploaded content
@SuppressWarnings("VisibleForTests") Uri downloadUrl = taskSnapshot.getDownloadUrl();
Log.e("myTag", "done, " +downloadUrl);
Intent sharingIntent = new Intent(Intent.ACTION_SEND);
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception exception) {
Log.e("myTag", exception.toString());
}
});
}
}
我已经尝试解决这个错误超过五个小时,尽管阅读了十亿次文档,但我仍然感到困惑。任何帮助表示赞赏!
【问题讨论】:
标签: java android database algorithm firebase