Vì vậy, tôi đã đọc qua API máy ảnh và không thể tìm thấy bất kỳ điều gì về điều này. Tôi đang sử dụng Camera để chụp khung và nó hoạt động hoàn hảo, cho đến khi tôi cố gắng nhả camera. Tôi lặp lại các lỗi trong một chuỗi các cuộc gọi:lỗi phát hành máy ảnh android từ PreviewCallback
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();
Các lỗi tôi nhận được là
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)
Vì vậy, bất cứ điều gì đang xảy ra không phải là một trong các chức năng của tôi. Nếu tôi nhận xét ra camera.setPreviewCallback (điều này); sau đó lỗi này không xuất hiện, nhưng tôi rõ ràng bị mất gọi lại của tôi, đó là toàn bộ điểm bao gồm cả máy ảnh trong ứng dụng của tôi.
Tôi cũng phải đối mặt với cùng một vấn đề, tôi cố định nó bằng cách sử [http://stackoverflow.com/a/34064944/4531507](http: //stackoverflow.com/a/34064944/4531507) –
Nguyên tắc chung là mọi cuộc gọi trên máy ảnh đều có thể ném RuntimeException bất kỳ lúc nào, ngay cả khi cuộc gọi cụ thể không có ngoại lệ này được ghi lại chính thức. Nếu thiết bị thử nghiệm của bạn không bao giờ hoạt động sai theo cách này, hãy yên tâm rằng một số phần mềm không mong muốn của phần cứng, ROM và phần mềm đã cài đặt sẽ gây ra sự cố này theo cách tái sản xuất hoặc không thể tái sản xuất. –