在没有SurfaceView或没有Photo Intent Activity的情况下拍照

时间:2014-09-01 12:58:32

标签: android camera

我需要从手机摄像头拍照来分析它,但我不需要在SurfaceView上显示内容(相机图像)。我可以使用没有SurfaceView支架的Camera类吗?一种方法是简单地隐藏SurfaceView但是有没有办法不使用它?

我试过这样但是它会抛出一个错误:takePicture失败

的onCreate:

mCamera = getCameraInstance();   //private Camera mCamera;  
mCamera.startPreview();

button.setOnClickListener(new OnClickListener() {
   @Override
   public void onClick(View v) {

      mCamera.takePicture(null, null, mPicture);

   }
});

照相机:

public static Camera getCameraInstance() {
            Camera c = null;
            try {
                c = Camera.open(); // attempt to get a Camera instance
            } catch (Exception e) {
                e.printStackTrace();
            }
            return c; // returns null if camera is unavailable
        }

    private Camera.PictureCallback mPicture = new Camera.PictureCallback() {

        @Override
        public void onPictureTaken(byte[] data, Camera camera) {

            System.out.println("CLICK");
        }
    };

1 个答案:

答案 0 :(得分:0)

我通过在SurficeView上添加新视图来解决我的问题,因此没有看到surficeView。我花了很长时间寻找其他解决方案但没有成功。