Note that there are some explanatory texts on larger screens.

plurals
  1. PORuntimeException when trying to use android.hardware.Camera.setDisplayOrientation
    text
    copied!<p>I tested my app on several devices: on HTC Wildfire S with Android 2.3.5 and on Samsung Galaxy Nexus with Android 4.1. On Samsung it works fine, but on HTC it sometimes crashes when display orientation changes. It crashes with exception: </p> <pre><code>10-01 18:08:40.521: VERBOSE/GeoWash(2111): ScanActivity: onPause 10-01 18:08:40.521: VERBOSE/GeoWash(2111): Camera release 10-01 18:08:41.312: VERBOSE/GeoWash(2111): CameraPreview: surfaceDestroyed 10-01 18:08:41.332: VERBOSE/GeoWash(2111): ScanActivity: onResume 10-01 18:08:41.572: VERBOSE/GeoWash(2111): CameraPreview: acquire 10-01 18:08:41.843: VERBOSE/GeoWash(2111): CameraPreview: surfaceChanged 10-01 18:08:41.863: VERBOSE/GeoWash(2111): onPictureTaken 10-01 18:08:42.023: DEBUG/mm-camera 7x-vfe(74): set vfe_ack_complete true 10-01 18:08:42.023: DEBUG/mm-camera 7x-vfe(74): VFE_START_ACK CAMERA_STATE_PREVIEW_VFE_STARTED 10-01 18:08:42.924: WARN/ActivityManager(136): Binding with unknown activity: HistoryRecord{40a0b4c8 ru.realweb.geowash/.view.ScanActivity} 10-01 18:08:43.084: VERBOSE/GeoWash(2111): CameraPreview: surfaceCreated 10-01 18:08:43.084: VERBOSE/GeoWash(2111): CameraPreview: surfaceChanged 10-01 18:08:43.174: ERROR/AndroidRuntime(2111): FATAL EXCEPTION: main java.lang.RuntimeException: set display orientation failed at android.hardware.Camera.setDisplayOrientation(Native Method) at ru.realweb.geowash.view.CameraView.setPreviewRotation(CameraView.java:647) at ru.realweb.geowash.view.CameraView.setupPreview(CameraView.java:570) at ru.realweb.geowash.view.CameraView.access$1500(CameraView.java:29) at ru.realweb.geowash.view.CameraView$CameraPreview.surfaceChanged(CameraView.java:518) at android.view.SurfaceView.updateWindow(SurfaceView.java:557) at android.view.SurfaceView.dispatchDraw(SurfaceView.java:348) at android.view.ViewGroup.drawChild(ViewGroup.java:1730) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) at android.view.ViewGroup.drawChild(ViewGroup.java:1730) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) at android.view.View.draw(View.java:6973) at android.view.ViewGroup.drawChild(ViewGroup.java:1732) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) at android.view.ViewGroup.drawChild(ViewGroup.java:1730) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) at android.view.View.draw(View.java:6973) at android.widget.FrameLayout.draw(FrameLayout.java:357) at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:1997) at android.view.ViewRoot.draw(ViewRoot.java:1600) at android.view.ViewRoot.performTraversals(ViewRoot.java:1321) at android.view.ViewRoot.handleMessage(ViewRoot.java:1957) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:150) at android.app.ActivityThread.main(ActivityThread.java:4277) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:507) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) at dalvik.system.NativeStart.main(Native Method) </code></pre> <p>On the following place:</p> <pre><code>private void setPreviewRotation( Camera camera ){ Display display = ((WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay(); if(display.getRotation() == Surface.ROTATION_0){ camera.setDisplayOrientation(90); } } </code></pre> <p>Any suggestion?</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload