我使用以下代码告诉系统我想要拍照:
第一次运行时它的表现非常出色。但是再次尝试会产生以下异常:
E/CameraHolder(8300): java.lang.RuntimeException: 无法连接到相机服务 E/CameraHolder(8300): 在 android.hardware.Camera.native_setup(Native Method)处 E/CameraHolder(8300): 在 android.hardware.Camera.(Camera.java:110)处 E/CameraHolder(8300): 在 android.hardware.Camera.open(Camera.java:90)处 E/CameraHolder(8300): 在 com.android.camera.CameraHolder.open(CameraHolder.java:100)处 E/CameraHolder(8300): 在 com.android.camera.Camera.ensureCameraDevice(Camera.java:1626)处 E/CameraHolder(8300): 在 com.android.camera.Camera.startPreview(Camera.java:1686)处 E/CameraHolder(8300): 在 com.android.camera.Camera.access$5800(Camera.java:94)处 E/CameraHolder(8300): 在 com.android.camera.Camera$5.run(Camera.java:949)处 E/CameraHolder(8300): 在 java.lang.Thread.run(Thread.java:1096)处
我想我必须以某种方式释放相机对象,但由于我没有直接获取它,所以不知道如何操作。能否有人帮助我解决这个问题?
我正在使用以下代码告诉系统我想要拍照:
Intent intent = new Intent(
android.provider.MediaStore.ACTION_IMAGE_CAPTURE, null);
intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, Uri
.fromFile(new File(filePath)));
startActivityForResult(intent, TAKE_PHOTO_ACTIVITY);
第一次运行时它的表现非常出色。但是再次尝试会产生以下异常:
E/CameraHolder(8300): java.lang.RuntimeException: 无法连接到相机服务 E/CameraHolder(8300): 在 android.hardware.Camera.native_setup(Native Method)处 E/CameraHolder(8300): 在 android.hardware.Camera.(Camera.java:110)处 E/CameraHolder(8300): 在 android.hardware.Camera.open(Camera.java:90)处 E/CameraHolder(8300): 在 com.android.camera.CameraHolder.open(CameraHolder.java:100)处 E/CameraHolder(8300): 在 com.android.camera.Camera.ensureCameraDevice(Camera.java:1626)处 E/CameraHolder(8300): 在 com.android.camera.Camera.startPreview(Camera.java:1686)处 E/CameraHolder(8300): 在 com.android.camera.Camera.access$5800(Camera.java:94)处 E/CameraHolder(8300): 在 com.android.camera.Camera$5.run(Camera.java:949)处 E/CameraHolder(8300): 在 java.lang.Thread.run(Thread.java:1096)处
我想我必须以某种方式释放相机对象,但由于我没有直接获取它,所以不知道如何操作。能否有人帮助我解决这个问题?