}
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