How do I open the "front camera" on the Android platform?


More generally, if a device has more than one embedded camera, is there a way to initialize one of them in particular?

I didn't find it in Android reference documentation:

Samsung SHW-M100S has two cameras. If there is no reference to use two cameras, any idea how Samsung did...?

5/20/2017 12:21:33 PM

private Camera openFrontFacingCameraGingerbread() {
    int cameraCount = 0;
    Camera cam = null;
    Camera.CameraInfo cameraInfo = new Camera.CameraInfo();
    cameraCount = Camera.getNumberOfCameras();
    for (int camIdx = 0; camIdx < cameraCount; camIdx++) {
        Camera.getCameraInfo(camIdx, cameraInfo);
        if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {
            try {
                cam =;
            } catch (RuntimeException e) {
                Log.e(TAG, "Camera failed to open: " + e.getLocalizedMessage());

    return cam;

Add the following permissions in the AndroidManifest.xml file:

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

Note: This feature is available in Gingerbread(2.3) and Up Android Version.

10/19/2014 6:22:29 PM

Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow