我看到有很多问题,但我找不到任何办法。在我的应用程序中,我有自己的相机,有一些选项,还有一个名为btnFlash
的按钮,用于在相机运行时打开/关闭相机的闪光灯。我尝试了很多方法,但三星标签和HTC没有任何效果。这是其中之一
ImageButton btnFlash = (ImageButton) findViewById(R.id.btn_flash);
btnFlash.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Context context = getApplicationContext();
if( context .getPackageManager().hasSystemFeature(getPackageManager().FEATURE_CAMERA_FLASH)) {
Parameters params = mCamera.getParameters();
if(isFlashOn) {
params.setFlashMode(Parameters.FLASH_MODE_OFF);
mCamera.setParameters(params);
isFlashOn = false;
} else {
params.setFlashMode(Parameters.FLASH_MODE_ON);
mCamera.setParameters(params);
isFlashOn = true;
}
}
}
});
提前致谢..
答案 0 :(得分:2)
答案 1 :(得分:0)
我遇到了同样的问题,我认为你应该替换
params.setFlashMode(Parameters.FLASH_MODE_ON);
用这个
params.setFlashMode(Parameters.FLASH_MODE_TORCH);
我测试了param
Parameters.FLASH_MODE_ON
Parameters.FLASH_MODE_RED_EYE
并遇到同样的问题,我认为问题出现是因为设备没有合适的硬件参数