Я занимаюсь разработкой приложения, которое прекрасно работает на всех версиях Android с сэндвичем до мороженого, а также на ICS 4.0.3.Однако для Galaxy Nexus с версиями 4.0.1 и 4.0.2 он принудительно закрывается, когда я вызываю Camera.setParameters ()
Мой фрагмент кода приведен ниже
// mCamera is my camera object.
// mFrameWidth and mFrameHeight are my desired preview size
Camera.Parameters params = mCamera.getParameters();
List<Camera.Size> sizes = params.getSupportedPreviewSizes();
width = mFrameWidth;
height = mFrameHeight;
// selecting optimal camera preview size closest to desired size
double minDiff = Double.MAX_VALUE;
for (Camera.Size size : sizes) {
if (Math.abs(size.width - width) < minDiff) {
mFrameWidth = size.width;
mFrameHeight = size.height;
minDiff = Math.abs(size.width - width);
}
}
params.setPreviewSize(mFrameWidth, mFrameHeight);
// Crashes here
mCamera.setParameters(params);
Это сбойreport
java.lang.RuntimeException: setParameters failed
at android.hardware.Camera.native_setParameters(Native Method)
at android.hardware.Camera.setParameters(Camera.java:1295)
at com.example.MySurfaceView.surfaceChanged(MySurfaceView.java:182)
at android.view.SurfaceView.updateWindow(SurfaceView.java:544)
at android.view.SurfaceView.access$000(SurfaceView.java:81)
at android.view.SurfaceView$3.onPreDraw(SurfaceView.java:169)
at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:590)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1617)
at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2442)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4424)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)
Казалось, что эта проблема была вызвана некоторой ошибкой в версиях ICS 4.0.1 и 4.0.2, но я не смог найти никаких ошибок или проблем, связанных с этим.Было бы здорово, если бы кто-то мог указать мне правильное направление.Заранее спасибо !!