0

다음 코드는 android 2.3 이하 버전에서 작동합니다. 왜 HoneyComb에서 작동하지 않는지 이해하지 못합니다. . btnTakePic, btnDiscard, btnSave :Galaxy tab 10.1은 OnPictureTaken (...)을 사용할 때 Camera.release()를 자동으로 호출하므로 수행하지 않아야합니다.

if(v.getId()==btnTakePic.getId()){ 
     Log.v("Camarita", "BtnTake inicia"); 
     if(cameraPreview){ 
     callback = new PictureCallback() { 
      @Override   
      public void onPictureTaken(byte[] data, Camera camera) { 

       dataTemp=new byte[data.length]; 
       System.arraycopy(data,0,dataTemp , 0, data.length);       
      } 
     };   
      mCamera.takePicture(null, null, callback); 
      callback=null; 
      cameraPreview=false;    
     }else{    
      //NOTHING 
     } 
    } 

어레이 dataTemp 청소 및 Camera.startPreview 문안 btnDiscard()는 UI가 3 개 버튼을 가지고있다. btnSave는 dataTemp에서 이미지를 저장하고 dataTemp를 지 웁니다. 그런 다음 Camera.startPreview()를 호출하십시오.

답변

0

마지막으로 btnTakePic을 누르면 수동으로 Camera.stopPreview()를 추가하여이 문제를 해결할 수 있습니다.

인사말