我的Android手机iGet Blackview BV6000s有一个奇怪的问题。我需要在预览和实际拍摄期间将闪光模式设置为手电筒模式。不幸的是,看起来,有些东西覆盖了我的代码,当调用takePicture时,闪存会消失,而不是像常规闪存一样。
可能是那个“自定义”android中的东西,该设备已经预先安装了吗?
我在我的实际应用旁边做了一个最小的例子,它的行为相同。
预览设置:
@Override
protected void onResume() {
super.onResume();
int numCams = Camera.getNumberOfCameras();
if(numCams > 0){
try{
camera = Camera.open(findBackFacingCamera());
Camera.Parameters parameters = camera.getParameters();
parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);
if (getApplicationContext().getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH)) {
parameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
}
camera.setDisplayOrientation(90);
camera.setParameters(parameters);
camera.startPreview();
preview.setCamera(camera);
} catch (RuntimeException ex){
Toast.makeText(ctx, getString(R.string.camera_not_found), Toast.LENGTH_LONG).show();
}
}
}
调用takePicture:
preview.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
camera.takePicture(shutterCallback, rawCallback, jpegCallback);
}
});