关于Samsung Galaxy Tab的闪关灯问题
一、问题 有客户的需求,项目的开发才不会循规蹈矩,才会遇到各种各样的问题。不过今天遇到的问题,确实让人摸不到头脑。 项目需要扫描条码,于是使用了条码扫描二维码扫描——ZXing android 源码简化中所使用的ZXing,项目进行的很顺利,能够正常的扫描条码,同时能够获得条码相应的信息。由于项目使用环境的原因,客户提出要求要在打开摄像头进行条码扫描的时候同时打开闪光灯,同时要将闪光灯保持常亮状态,而不是在对焦的时候闪烁。这个问题也好解决,编写好代码之后在联想乐Pad K1 WLAN 16GB能够正常运行,打开摄像头之后能够保持闪光灯的常亮。但是,问题出现了,这段代码在运行到三星GALAXY Tab P7510的时候闪光灯硬是没有反应,同样的代码,出现这样的问题,是在是让人费解。 在stackoverflow上看到了很多人都遇到了这样的问题,比较典型的是How to use camera flash/led as torch on a Samsung Galaxy Tab?得知这是设备的差异性问题造成的。但是出现这样的问题,我们也不能告诉客户,因为设备差异性原因我们的代码无法在指定的三星GALAXY Tab P7510运行。于是找答案。二、解决方案 我们安装了我查查这个比较流行的条码扫面软件,发现它可以在打开摄像头时同时保持闪光灯的常量,但是其不是一打开摄像头就让闪光灯亮的,是让用户选择是否打开闪关灯,于是乎答案出来了。我们采用同样的解决方案,在打开摄像头之后,让用户选中是否打开闪光灯,这样就可以设置闪光灯的状态,同时可以让其在三星GALAXY Tab P7510上正常运行。三、代码在条码扫描二维码扫描——ZXing android 源码简化的基础之上改造,main.xml文件如下:
闪光灯常亮状态
闪光灯随对焦闪烁状态

