我正在爲學校編寫應用程序,它具有要求相機拍照,剪裁,上傳到服務器的功能,之後用戶必須能夠打開手電筒(作爲我們正在做的一些跟蹤的一部分)。 以上所有功能都完美無缺 - 直到用戶關閉手電筒並想拍攝另一張照片。相機停止工作,在屏幕上顯示無法連接到相機的錯誤。關閉手電筒後無法使用相機
我知道有像命令重新連接:http://developer.android.com/reference/android/hardware/Camera.html#reconnect() 我一直在擺弄它,我不能爲我的生活得到它的工作。
使用相機的我使用的意圖:
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
而且手電筒的代碼如下所示:
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 = true;
}
}
/*
* Turning Off flash
*/
private void turnOffFlash() {
if (isFlashOn) {
if (camera == null || params == null) {
return;
}
params = camera.getParameters();
params.setFlashMode(Parameters.FLASH_MODE_OFF);
camera.setParameters(params);
isFlashOn = false;
}
}
是否有我可以使用的同一個實例任何方式照相機爲手電筒和相機(當它是一個意圖)?我發現,如果我釋放相機et變爲空,它無法再次instanciate它。
在此先感謝
試試我的以下答案 –