2017-12-10 1 views
0

Google은 Android 기본 앱을 만들었으며 특정 조건에서 충돌하고 있습니다. 확실히 카메라와 관련이 있지만 정확히 무엇인지 확신 할 수는 없습니다.android의 카메라로 인해 충돌이 발생했습니다.

나는 안드로이드 개발자가 아니라는 것을 강조하고 싶습니다. (대부분 파이썬으로 개발합니다)하지만 거기에있는 안드로이드 전문가가 오류에 대한 몇 가지 컨텍스트를 제공 할 수 있는지 궁금합니다. 뭔가 잘못되면 Camera.setParameters()이 RuntimeException을 던질 수

java.lang.RuntimeException: 
    at android.hardware.Camera.native_setParameters (Native Method) 
    at android.hardware.Camera.setParameters (Camera.java:1946) 
    at identidata.br.camera.CameraPicturePreview.surfaceChanged (CameraPicturePreview.java:75) 
    at android.view.SurfaceView.updateWindow (SurfaceView.java:611) 
    at android.view.SurfaceView$3.onPreDraw (SurfaceView.java:181) 
    at android.view.ViewTreeObserver.dispatchOnPreDraw (ViewTreeObserver.java:944) 
    at android.view.ViewRootImpl.performTraversals (ViewRootImpl.java:2000) 
    at android.view.ViewRootImpl.doTraversal (ViewRootImpl.java:1073) 
    at android.view.ViewRootImpl$TraversalRunnable.run (ViewRootImpl.java:5985) 
    at android.view.Choreographer$CallbackRecord.run (Choreographer.java:767) 
    at android.view.Choreographer.doCallbacks (Choreographer.java:580) 
    at android.view.Choreographer.doFrame (Choreographer.java:550) 
    at android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:753) 
    at android.os.Handler.handleCallback (Handler.java:739) 
    at android.os.Handler.dispatchMessage (Handler.java:95) 
    at android.os.Looper.loop (Looper.java:135) 
    at android.app.ActivityThread.main (ActivityThread.java:5912) 
    at java.lang.reflect.Method.invoke (Native Method) 
    at java.lang.reflect.Method.invoke (Method.java:372) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1405) 
    at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1200) 

답변

0

안드로이드 카메라 API 문서 : 여기

은 구글 플레이 콘솔에서 스택 추적입니다. Android 조각화를 고려하면 setParameters()에 대한 무해한 호출로 숨겨진 비 호환성을 유발할 수 있습니다. 따라서이 호출을 통해 항상 try … catch RuntimeException을 사용하는 것이 좋습니다.

surfaceChanged() 콜백을 처리 할 때 지원되지 않는 미리보기 크기를 설정하려고 시도하기 때문에 특정 충돌이 발생하더라도 나는 놀랄 일이 아닙니다. 이 콜백은 너비높이 매개 변수로 제공되며 Camera.Parameters.setPreviewSize()에이 값을 사용하는 것은 자연스러운 유혹입니다. 불행히도, 이것은 작동하지 않습니다. supported Preview Sizes 목록에서 항상 값 중 하나를 선택해야합니다.

관련 문제