public class CameraActivity1 extends Activity { private SurfaceView mSurfaceView; private Button mTake,mCancle; private SurfaceHolder mSurfaceHolder; private boolean isPreview = false; private Camera mCamera; private Camera.AutoFocusCallback autoFocusCallback = new Camera.AutoFocusCallback() { @Override public void onAutoFocus(boolean success, Camera camera) { if(success){ // 第一个监听器;当用户按下快门时激发该监听器 // 第二个监听器;当相机获取原始照片时激发该监听器 // 第三个监听器;当相机获取JPG照片时激发该监听器 mCamera.takePicture(new Camera.ShutterCallback() { @Override public void onShutter() { //快门按下时 } }, new Camera.PictureCallback() { @Override public void onPictureTaken(byte[] data, Camera camera) { //此处代码可以决定是否需要保存原始照片信息 } }, new Camera.PictureCallback() { @Override public void onPictureTaken(byte[] data, Camera camera) { Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length); //创建矩阵 旋转图像