CODE
    mCameraButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            int permissionCheck = ContextCompat.checkSelfPermission(getContext(), Manifest.permission.CAMERA);
            if (permissionCheck == PackageManager.PERMISSION_GRANTED) {
                startCameraActivity();
                Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                if (cameraIntent.resolveActivity(getActivity().getPackageManager()) != null) {
                    startActivityForResult(cameraIntent, 1000);
                }
            }
            else {
                ActivityCompat.requestPermissions(getActivity(), new String[]{Manifest.permission.CAMERA}, 1000);
            }
        }
    });
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
    super.onRequestPermissionsResult(requestCode, permissions, grantResults);
    if (requestCode==1000 && grantResults.length > 0){
        Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        if (cameraIntent.resolveActivity(getActivity().getPackageManager()) != null) {
            startActivityForResult(cameraIntent, 1000);
        }
    }
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (resultCode == Activity.RESULT_OK) {
        if (requestCode == 1000) {
            first_getUri = data.getData();
            Bitmap bitmap = null;
            try {
                bitmap = getBitmapFromUri(first_getUri); //Here is problem
            } catch (IOException e) {
                Toast.makeText(getContext(), getString(R.string.failed_in_creating_bitmap_from_uri), Toast.LENGTH_LONG).show();
            }
            File imageFile = null;
            try {
                imageFile = createFileFromBitmap(bitmap);
            } catch (IOException e) {
                Toast.makeText(getContext(), getString(R.string.failed_in_creating_file_from_bitmap), Toast.LENGTH_LONG).show();
            }
            returnUri = Uri.fromFile(imageFile);
        }
        Glide.with(this)
                .load(returnUri)
                .override(1280, 1280)
                .into(mImageview);
    }
}
On this code, opening camera is doing well, but when i take a picture and enter,
Error is shown.
java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=66536, result=-1, data=Intent { act=inline-data (has extras) }} to activity {com.keepair.www.pinair/com.keepair.www.pinair.MainActivity}: java.lang.NullPointerException: uri
Caused by: java.lang.NullPointerException: uri
On line of onActivityResult's uri part - bitmap = getBitmapFromUri(first_getUri);
I think i cant get uri from CameraActivity.
How can i get correct uri of picture that was taken?
Would you teach me please?
EDIT
private Bitmap getBitmapFromUri(Uri uri) throws IOException {
    ParcelFileDescriptor parcelFileDescriptor =
            getActivity().getContentResolver().openFileDescriptor(uri, "r");
    FileDescriptor fileDescriptor = parcelFileDescriptor.getFileDescriptor();
    BitmapFactory.Options opts = new BitmapFactory.Options();
    opts.inJustDecodeBounds = true;
    BitmapFactory.decodeFileDescriptor(fileDescriptor, null, opts);
    int width = opts.outWidth;
    int height = opts.outHeight;
    float sampleRatio = getSampleRatio(width, height);
    opts.inJustDecodeBounds = false;
    opts.inSampleSize = (int) sampleRatio;
    Bitmap resizedBitmap = BitmapFactory.decodeFileDescriptor(fileDescriptor, null, opts);
    Log.d("Resizing", "Resized Width / Height : " + resizedBitmap.getWidth() + "/" + resizedBitmap.getHeight());
    parcelFileDescriptor.close();
    return resizedBitmap;
}
private float getSampleRatio(int width, int height) {
    final int targetWidth = 1280;
    final int targetheight = 1280;
    float ratio;
    if (width > height) {
        // Landscape
        if (width > targetWidth) {
            ratio = (float) width / (float) targetWidth;
        } else ratio = 1f;
    } else {
        // Portrait
        if (height > targetheight) {
            ratio = (float) height / (float) targetheight;
        } else ratio = 1f;
    }
    return Math.round(ratio);
}
private File createFileFromBitmap(Bitmap bitmap) throws IOException {
    File newFile = new File(getActivity().getFilesDir(), makeImageFileName());
    FileOutputStream fileOutputStream = new FileOutputStream(newFile);
    bitmap.compress(Bitmap.CompressFormat.PNG, 100, fileOutputStream);
    fileOutputStream.close();
    return newFile;
}
private String makeImageFileName() {
    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd_hhmmss");
    Date date = new Date();
    String strDate = simpleDateFormat.format(date);
    return strDate + ".png";
}
Crash Logs
FATAL EXCEPTION: main
Process: com.keepair.www.pinair, PID: 4827
java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=263144, result=-1, data=Intent { act=inline-data (has extras) }} to activity {com.keepair.www.pinair/com.keepair.www.pinair.MainActivity}: java.lang.NullPointerException: uri
    at android.app.ActivityThread.deliverResults(ActivityThread.java:3699)
    at android.app.ActivityThread.handleSendResult(ActivityThread.java:3742)
    at android.app.ActivityThread.-wrap16(ActivityThread.java)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1393)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:148)
    at android.app.ActivityThread.main(ActivityThread.java:5417)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: java.lang.NullPointerException: uri
    at com.android.internal.util.Preconditions.checkNotNull(Preconditions.java:60)
    at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:922)
    at android.content.ContentResolver.openFileDescriptor(ContentResolver.java:795)
    at android.content.ContentResolver.openFileDescriptor(ContentResolver.java:749)
    at com.keepair.www.pinair.GreenFragment.getBitmapFromUri(GreenFragment.java:385)
    at com.keepair.www.pinair.GreenFragment.onActivityResult(GreenFragment.java:357)
    at android.support.v4.app.FragmentActivity.onActivityResult(FragmentActivity.java:165)
    at android.app.Activity.dispatchActivityResult(Activity.java:6428)
    at android.app.ActivityThread.deliverResults(ActivityThread.java:3695)
    at android.app.ActivityThread.handleSendResult(ActivityThread.java:3742) 
    at android.app.ActivityThread.-wrap16(ActivityThread.java) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1393) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:148) 
    at android.app.ActivityThread.main(ActivityThread.java:5417) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
 
     
     
     
    