У меня есть активность, которая устанавливает ориентацию на 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
активность вызывается из другой деятельности, которая также устанавливается в ландшафт и не вылетать, если я переключить деятельность, удерживая устройство в альбомной .. только держа устройство в портретном из на время запуска ..
в обеих действиях i задает ориентацию в 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();
}
}
CameraView добавляется в onResume своей деятельности в() следующим образом:
camPreview = new KNCamLayer(this);
frame.addView(camPreview, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
it'e, потому что это свойство сил камеры активность, чтобы быть в ландшафте, который не дает сам вариант устройства, чтобы решить, какой вид он хочет выполнить, когда ориентация является не определен – Saqib