I am working on an Android tablet app. I want to change the camera from front to back and back to the button. How can i achieve this? I tried a few examples but did not get the correct answer.
I also add code.
public class PhotoPreview extends Activity implements SurfaceHolder.Callback { private Camera camera; private ImageButton cameraClick; private ImageButton cameraSwap; SurfaceView surfaceView; private SurfaceHolder mHolder; boolean previewing = false; String path = ""; LayoutInflater controlInflater = null; Bitmap bmp; Button cameraCancel; private SharedPreferences myPrefs; private int camId; @SuppressWarnings("deprecation") @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); System.out.println("Photo preview Called $$$$$$$$$$$$$$$$$$ "); requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.photo_preview); myPrefs = this.getSharedPreferences("myPrefs", MODE_PRIVATE); camId = myPrefs.getInt("camId",1); System.out.println("CAM ID $$$$$$$$$$$$$$$$$$ "+camId); getWindow().setFormat(PixelFormat.UNKNOWN); surfaceView = (SurfaceView) findViewById(R.id.camerapreview); mHolder = surfaceView.getHolder(); mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); mHolder.addCallback(this); controlInflater = LayoutInflater.from(getBaseContext()); View viewControl = controlInflater.inflate(R.layout.control, null); LayoutParams layoutParamsControl = new LayoutParams( LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); this.addContentView(viewControl, layoutParamsControl); cameraClick = (ImageButton) findViewById(R.id.cameraClick); cameraClick.setOnClickListener(cameraClickListener); cameraCancel = (Button) findViewById(R.id.cameraCancel); cameraCancel.setOnClickListener(cameraCancelClickListener); cameraSwap = (ImageButton) findViewById(R.id.cameraSwap); cameraSwap.setOnClickListener(swapCameraClickListener); } private OnClickListener cameraClickListener = new OnClickListener() { @Override public void onClick(final View v) { if (camera != null) { camera.takePicture(shutterCallback, rawCallback, jpegCallback); } } }; private OnClickListener cameraCancelClickListener = new OnClickListener() { @Override public void onClick(final View v) { Intent intent = new Intent(PhotoPreview.this, MainScreenActivity.class); startActivity(intent); } }; private OnClickListener swapCameraClickListener = new OnClickListener() { @Override public void onClick(final View v) { if (camId == 0) { SharedPreferences.Editor prefsEditor = myPrefs.edit(); prefsEditor.putInt("camId", 1); prefsEditor.commit(); } else { SharedPreferences.Editor prefsEditor = myPrefs.edit(); prefsEditor.putInt("camId", 0); prefsEditor.commit(); } System.out.println("CAM ID ^^^^^^^^^^^^^^^^^^^^ "+camId); Intent intent = new Intent(PhotoPreview.this, PhotoPreview.class); startActivity(intent); } };
}
source share