2014-09-01 73 views
2

我需要从手机相机中的照片来分析它,但我并不需要显示在SurfaceView内容(摄像机的图像)。我可以在没有SurfaceView支架的情况下使用Camera类吗?一种方法是简单地隐藏SurfaceView,但有没有办法根本不使用它?拍照没有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"); 
     } 
    }; 
+0

你有没有想过这样的运气?我在这里问了一个类似的问题:http://stackoverflow.com/questions/26072438/how-to-take-a-picture-without-an-intent-and-without-any-view-window-in-android和我还没有找到自己的解决方案。 – Silmarilos 2014-09-28 03:44:41

+0

据我发现,没有其他办法可以做到这一点。我用覆盖它与其他视图解决。 – ButterBeast 2014-09-28 08:49:46

回答

0

我通过在SurficeView puting新的观点解决我的问题,所以surficeView没有看到。我花了很长时间寻找其他解决方案,但没有成功。