我正在为学校写一个应用程序,它有一些功能,需要相机拍照,裁剪,上传到服务器,然后用户必须能够打开手电筒(作为一些跟踪的一部分,我们是这样做).以上所有工作都很完美 - 直到用户关闭手电筒并想要拍摄另一张照片.相机停止工作在屏幕上显示错误,表示无法连接到相机.
我知道有重新连接的命令:http://developer.android.com/reference/android/hardware/Camera.html#reconnect() 我一直在摆弄它,我不能为我的生活让它工作.
使用相机我正在使用一个意图:
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
Run Code Online (Sandbox Code Playgroud)
手电筒代码如下所示:
private void getCamera() {
if (camera == null) {
try {
camera = Camera.open();
params = camera.getParameters();
} catch (RuntimeException e) {
Log.e("Camera Error. Failed to Open. Error: ", e.getMessage());
}
}
}
/*
* Turning On flash
*/
private void turnOnFlash() {
getCamera();
if (!isFlashOn) {
if (camera == null || params == null) {
return;
}
params = camera.getParameters();
params.setFlashMode(Parameters.FLASH_MODE_TORCH);
camera.setParameters(params);
camera.startPreview();
isFlashOn …Run Code Online (Sandbox Code Playgroud)