Я пытаюсь захватить изображение из моего приложения и затем загрузить его в хранилище Firebase.Я пытаюсь передать захваченное изображение, хотя намерение.Однако метод onActivityResult () всегда показывает нулевые данные.
Это приложение для создания заметок, которое я создаю.При нажатии на значок камеры в приложении должно открыться приложение камеры телефона, а после захвата полученное изображение должно быть загружено в базу данных.Я прилагаю свой код для того же.
private static final int Camera_Request_Code = 1;
protected void onCreate(Bundle savedInstanceState) {
if (Build.VERSION.SDK_INT >= 23) {
requestPermissions(new String[]{Manifest.permission.CAMERA}, 1
);
}
mCaptureBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, 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) {
mProgress.setMessage("Uploading image");
mProgress.show();
Log.d("...............",""+data.getData());
Uri uri = data.getData();
StorageReference filePath=mStorage.child("Images").child(uri.getLastPathSegment());
filePath.putFile(uri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
mProgress.dismiss();
Toast.makeText(CameraActivity.this,"Uploading finished",Toast.LENGTH_SHORT).show();
}
});
}
}
Ошибка: вызвано: java.lang.NullPointerException: попытка вызвать виртуальный метод 'java.lang.String android.net.Uri.getLastPathSegment ()'на нулевой ссылке на объект