Android
    About Lesson

    The camera is one of the most commonly used features of a smartphone. Whether it’s for taking photos, recording videos, or using augmented reality, the camera is a powerful tool that can enhance your apps. In this blog post, we’ll explore how to use the camera in Android.

    Step 1: Adding Camera Permission

    Before you can access the camera, you need to request the camera permission. This is done by adding the following line to your AndroidManifest.xml file:

    <uses-permission android:name="android.permission.CAMERA" />

     

    Starting from Android 6.0 (API level 23), you also need to request the camera permission at runtime:

    if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
    ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA}, MY_CAMERA_REQUEST_CODE);
    }

     

    Step 2: Starting the Camera Intent

    Android provides a built-in Intent for capturing photos or videos. It’s called MediaStore.ACTION_IMAGE_CAPTURE. Here’s how to start this Intent:

    Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    startActivityForResult(cameraIntent, MY_CAMERA_REQUEST_CODE);

    This code will start the camera app to capture a photo. If you want to capture a video, you can use MediaStore.ACTION_VIDEO_CAPTURE instead.

     

    Step 3: Handling the Camera Result

    Once the user has taken a photo or recorded a video, your app will receive the result in the onActivityResult method. Here’s how to handle the result:

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == MY_CAMERA_REQUEST_CODE && resultCode == RESULT_OK) {
    Bitmap photo = (Bitmap) data.getExtras().get("data");
    // TODO: Use the photo
    }
    }

     

    In this code, we’re checking if the result comes from the camera Intent and if the result is OK. If so, we’re retrieving the photo from the Intent data.