background image

}
class Preview extends SurfaceView implements SurfaceHolder.Callback
{

private SurfaceHolder holder;
private Camera camera;
// 创建一个 PictureCallback 对象,并实现其中的 onPictureTaken 方法
private PictureCallback pictureCallback = new PictureCallback()
{

// 该方法用于处理拍摄后的照片数据
@Override
public void onPictureTaken(byte[] data, Camera camera)
{

// data 就是照片数据
getIntent().putExtra("bytes", data);
//resultCode 设为 20
setResult(20, getIntent());
// 停止照片拍摄
camera.stopPreview();
camera = null;
// 关闭当前的 Activity
finish();

}

};

public Preview(Context context)
{

super(context);

holder = this.getHolder();
// 指定用于捕捉拍照事件的 SurfaceHolder.Callback 对象
holder.addCallback(this);
// 设置 SurfaceHolder 对象的类型
holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);

}

// 开始拍照时调用该方法
public void surfaceCreated(SurfaceHolder holder)
{

camera = Camera.open();
try