2013-05-30 4 views
0

잘 작동하는 활동에 대해 lanscape에 방향을 설정하는 활동이 있지만 활동이 시작될 때 전화가 세로 모드 인 경우이 오류가 발생하고 활동이 중지되고 다른 활동으로 돌아갑니다 활동충돌을 일으키는 방향 오류

활동은 가로로 설정되어 다른 활동에서 호출되고 있으며 전에서에서 세로 장치를 유지하는 경우에만 .. 풍경에 장치를 누른 상태에서 활동을 전환하는 경우는 충돌하지 않는
05-30 11:06:48.335: D/DOMX(125): ERROR: failed check:(eError == OMX_ErrorNone) || (eError == OMX_ErrorNoMore) - returning error: 0x80001005 - Error returned from OMX API in ducati 
05-30 11:06:48.335: E/CameraHAL(125): Error while configuring rotation 0x80001005 
05-30 11:06:48.460: D/DOMX(125): ERROR: failed check:(eError == OMX_ErrorNone) || (eError == OMX_ErrorNoMore) - returning error: 0x80001005 - Error returned from OMX API in ducati 
05-30 11:06:48.460: E/CameraHAL(125): Error while configuring rotation 0x80001005 
05-30 11:06:48.765: E/CameraHAL(125): Adapter state switch PREVIEW_ACTIVE Invalid Op! event = 0xf 

시작 시간.

두 활동에서 나는 다음과 같이 onCreate()의 방향을 설정합니다.

this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 
내가 그 넣다 카메라 클래스를 포함하고 있으므로 출시 활동에 CameraPreview 표면을 배치하고 있다는 사실과 함께해야 할 것 같다

이 문제가 :

public class KNCamLayer extends SurfaceView { 
     Camera camera; 
     SurfaceHolder previewHolder; 

     public KNCamLayer(Context context) 
     { 
      super(context); 
      previewHolder = this.getHolder(); 

      //previewHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); 
      previewHolder.addCallback(surfaceHolderListener); 

     } 

     SurfaceHolder.Callback surfaceHolderListener = new SurfaceHolder.Callback() { 

      public void surfaceCreated(SurfaceHolder holder) { 
       camera=Camera.open(); 
      try { 
       camera.setPreviewDisplay(previewHolder); 

      } 
       catch (Throwable e){ } 
      } 
      public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) 
      { 
       Parameters params = camera.getParameters(); 
       //params.setPreviewSize(width, height); 
       params.setPictureFormat(PixelFormat.JPEG); 
       camera.setParameters(params); 
       camera.startPreview(); 


      } 
      public void surfaceDestroyed(SurfaceHolder arg0) 
      { 
       camera.stopPreview(); 
       camera.release(); 
      } 

     }; 

     public void onResume() { 
      camera.startPreview(); 

     } 

     public void onPause() { 
      // TODO Auto-generated method stub 
      camera.stopPreview(); 
     } 

} 

내가 그 활동 매니페스트에 방향을 설정하면 .. 문제가 사라질 것으로 보인다 있도록

camPreview = new KNCamLayer(this); 
     frame.addView(camPreview, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); 

답변

0

좋아 ..하지만 난 understan하고 있지 않다 : CameraView은과 같이 활동의 ​​onResume()에 추가된다 정확히 왜 땡.
수정 : 활동에 대한 매니페스트

android:screenOrientation="landscape"

+0

it'e는 방향 일 때 수행하고자하는보고 결정하는 옵션 장치 자체를 제공하지 않습니다 카메라 활동이 풍경에있을이 부동산에 힘 때문에 정의되지 않았다 – Saqib

관련 문제