2013-07-22 3 views
5

ich android Entwicklung und schrieb gerade begonnen, einen einfachen Kamera-App mit diesem Tutorial: http://developer.android.com/guide/topics/media/camera.html#custom-cameraCamera.lock, entsperren() automatisch für Sie seit Android 4.0 verwaltet?

dort las ich: „Hinweis: Beginnend mit Android 4.0 (API-Ebene 14), die Camera.lock() und Camera.unlock() Anrufe werden automatisch für Sie verwaltet. "

aber was bedeutet das? Meine Kamera-App unterstützt Android 16 (4.1.2) und 17 (4.2.2), aber wenn ich die Sperre aufheben und entsperren Anrufe bekomme ich Fehler von Mediarecorder (-19). so wie man es android behandeln lassen? oder was bedeutet das "automatisch verwaltet"?

+0

Gute Frage. Ich habe das gleiche Problem und am Ende links sperren/entsperren Anrufe, weil ich es ohne diesen Fehler nicht funktionieren konnte. Es kann jedoch mit meinem Min-SDK in Verbindung gebracht werden, das API 15 (4.0.3) war, trotz des Tests (und des Ermittelns von Fehler -19) auf 4.2.2. – Ewoks

Antwort

1

Als Android documentation stateslock() wird automatisch für Sie in MediaRecorder.start() aufgerufen. Ich denke, dass Sie die Entsperrung() Anruf nicht entfernen konnte, da, wenn die start() Methode rufen Sie die lock() Methode auf Ihrer Kamera, die standardmäßig gesperrt ist, finden Sie die Kamera Medaillon und so steigt ein RuntimeException.

Seit API-Ebene 14 ist die Kamera für Anwendungen in start() automatisch gesperrt. Anwendungen können die Kamera verwenden (zB: Zoom), nachdem die Aufnahme startet. Sie müssen dies nicht aufrufen, nachdem die Aufnahme gestartet oder beendet wurde.