Использование камеры в Android Studio для съемки

#android-studio

Вопрос:

Очень новичок в использовании Android Studio. В моем проекте нам нужно сделать снимок камерой(или в данном случае веб-камерой). Я могу заставить камеру сделать снимок, но когда я нажимаю на галочку, чтобы использовать изображение, программа выходит из строя. Я не уверен, что происходит или как это исправить. Любая помощь будет очень признательна. Вот мой код

 package com.example.androidlabs;

import androidx.appcompat.app.AppCompatActivity;

import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.media.Image;
import android.os.Bundle;
import android.provider.MediaStore;
import android.util.Log;
import android.view.View;
import android.widget.ImageButton;
import android.widget.TextView;

import org.w3c.dom.Text;

public class ProfileActivity extends AppCompatActivity {

private ImageButton mImageButton;
static final int REQUEST_IMAGE_CAPTURE = 1;
public static final String ACTIVITY_NAME = "PROFILE_ACTIVITY";

@Override
protected void onCreate (Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_profile);
    ImageButton mImageButton = findViewById(R.id.image);
    mImageButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            opendispatchTakePictureIntent();
        }
    });


}

private void opendispatchTakePictureIntent() {
    Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
        startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
    }
}

@Override
protected void onActivityResult ( int requestCode, int resultCode, Intent data){
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == REQUEST_IMAGE_CAPTURE amp;amp; resultCode == RESULT_OK) {
        Bundle extras = data.getExtras();
        Bitmap imageBitmap = (Bitmap) extras.get("data");
        mImageButton.setImageBitmap(imageBitmap);
    }
}