如下代码可在不支持手电筒的Android设备(如摩托罗拉剃须刀)上正常工作吗?有人能好心地测试一下是否有这样的电话,请告诉我。
提前致谢!!
if (!isFlashOn) {
if (camera == null || params == null) {
return;
}
List<String> flashModes = params.getSupportedFlashModes();
if(flashModes.contains(Parameters.FLASH_MODE_TORCH)){
try {
params = camera.getParameters();
params.setFlashMode(Parameters.FLASH_MODE_TORCH);
camera.setParameters(params);
camera.startPreview();
toggleButtonImage();
isFlashOn = true;
}catch (RuntimeException e) {
}
}
else {
params = camera.getParameters();
params.setFlashMode(Parameters.FLASH_MODE_ON);
camera.setParameters(params);
camera.startPreview();
toggleButtonImage();
isFlashOn = true;
}
toggleButtonImage();
isFlashOn = true;
}
}
PS我是否应该另外添加类似的内容:
if (flashModes.contains(android.hardware.Camera.Parameters.FLASH_MODE_AUTO))
{
params.setFlashMode(Parameters.FLASH_MODE_AUTO);
camera.setParameters(params);
camera.startPreview();
}
适用于Motorola g和Galaxy S4(支持手电筒)
如果设备支持不同的闪光模式,则可以以不同的模式打开手电筒。您可以从此开源相机代码中获取代码。开放式摄像头
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句