Я пытаюсь загрузить изображение в хранилище firebase после его захвата с камеры телефона, но когда я запускаю свой код, я получаю вышеуказанную ошибку. Я попытался проверить, если URI Возвращается пустой, как показано в этой строке кодаПопытка вызвать виртуальный метод 'java.lang.String android.net.Uri.getLastPathSegment()' на ссылку нулевого объекта
Toast.makeText(UploadImage.this, "YOUR URI IS NULL", Toast.LENGTH_LONG).show();
но сообщение Тост не получает отображается, но ошибка возникает в строке после тоста, который
filepath = storageReference.child("PhotoModel").child(uri.getLastPathSegment());
Ниже весь мой код,
public class UploadImage extends AppCompatActivity {
private Button mUploadImg;
private ImageView mImageView;
private StorageReference storageReference, filepath;
private ProgressDialog progressDialog;
private static final int CAMERA_REQUEST_CODE = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_upload_image);
storageReference = FirebaseStorage.getInstance().getReference();
mUploadImg = (Button) findViewById(R.id.btnUploadImg);
mImageView = (ImageView) findViewById(R.id.imgView);
progressDialog = new ProgressDialog(this);
mUploadImg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent Imgintent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(Imgintent, CAMERA_REQUEST_CODE);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == CAMERA_REQUEST_CODE && resultCode == RESULT_OK) {
progressDialog.setMessage("Upload Image ...");
progressDialog.show();
Uri uri = data.getData();
if (uri == null) {
Toast.makeText(UploadImage.this, "YOUR URI IS NULL", Toast.LENGTH_LONG).show();
}
filepath = storageReference.child("PhotoModel").child(uri.getLastPathSegment());
filepath.putFile(uri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
progressDialog.dismiss();
Toast.makeText(UploadImage.this, "Uploading ...", Toast.LENGTH_LONG).show();
}
});
} else {
Toast.makeText(UploadImage.this, "Upload Failed...Check your Internet Connection", Toast.LENGTH_LONG).show();
}
}
}
Кто-то помочь мне выяснить порога e проблема начинается, потому что я не могу сейчас на нее надавить ...
Похоже, проблема такова: http://stackoverflow.com/questions/10386885/intent-filter-intent-getdata-returns-null –