我编写了一个简单的手电筒应用程序,我已经在 HTC Sensation、Nexus 7、HTC One、Moto X、Galaxy S3、Galaxy S4 和 Nexus 5 上进行了测试。唯一无法使用的是 Nexus 5 . 它不会抛出异常,所以找出问题所在是很困难的。
这是我一直在使用的代码,它适用于所有东西,但是:
sCamera = Camera.open();
sParameters = sCamera.getParameters();
sParameters.setFlashMode(Parameters.FLASH_MODE_TORCH);
sCamera.setParameters(sParameters);
sCamera.startPreview();
这是 LogCat 应该打开 LED 时发生的屏幕截图:http: //i.imgur.com/vXn5PoH.png
我从 Nexus 5 中提取了闪光模式列表,上面显示它们是:开、关、自动、手电筒和红眼。这些和预期的一样。我已经测试过在开、关和手电筒之间切换,但没有任何东西使灯光闪烁。而且我知道 LED 没有坏,因为其他手电筒应用程序工作正常。