android-Kamera-release-Fehler aus PreviewCallback

So, die ich gelesen habe über die Kamera-API und konnte nichts finden. Ich bin mit der Kamera Einzelbilder und es funktioniert einwandfrei, bis ich versuche, die Kamera auszulösen. Ich repliziert den Fehler in einer Sequenz von aufrufen:

camera = Camera.open();
camera.setPreviewDisplay(getHolder());
Parameters params = camera.getParameters();
List<Size> ls = params.getSupportedPreviewSizes();
Size size = ls.get(1);
this.width = size.width;
this.height = size.height;
params.setPreviewSize(size.width, size.height);
camera.setParameters(params);
camera.setDisplayOrientation(90);
camera.setPreviewCallback(this);
camera.startPreview();
camera.stopPreview();
camera.release();

Den Fehler den ich bekomme, ist

03-22 13:31:42.592: E/AndroidRuntime(14152): java.lang.RuntimeException: Method called after release()
03-22 13:31:42.592: E/AndroidRuntime(14152):    at android.hardware.Camera.setHasPreviewCallback(Native Method)
03-22 13:31:42.592: E/AndroidRuntime(14152):    at android.hardware.Camera.access$600(Camera.java:114)
03-22 13:31:42.592: E/AndroidRuntime(14152):    at android.hardware.Camera$EventHandler.handleMessage(Camera.java:545)
03-22 13:31:42.592: E/AndroidRuntime(14152):    at android.os.Handler.dispatchMessage(Handler.java:99)
03-22 13:31:42.592: E/AndroidRuntime(14152):    at android.os.Looper.loop(Looper.java:130)
03-22 13:31:42.592: E/AndroidRuntime(14152):    at android.app.ActivityThread.main(ActivityThread.java:3684)
03-22 13:31:42.592: E/AndroidRuntime(14152):    at java.lang.reflect.Method.invokeNative(Native Method)
03-22 13:31:42.592: E/AndroidRuntime(14152):    at java.lang.reflect.Method.invoke(Method.java:507)
03-22 13:31:42.592: E/AndroidRuntime(14152):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:845)
03-22 13:31:42.592: E/AndroidRuntime(14152):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:603)
03-22 13:31:42.592: E/AndroidRuntime(14152):    at dalvik.system.NativeStart.main(Native Method)

Also, was ist passiert, ist nicht in einer meiner Funktionen.
Wenn ich den Kommentar aus der Kamera.setPreviewCallback(this); dann wird dieser Fehler nicht angezeigt, aber offensichtlich habe ich verliere meinen Rückruf, das ist der springende Punkt, der auch der meine Kamera in die app.

InformationsquelleAutor der Frage droideka-coder | 2012-03-22

Schreibe einen Kommentar