Nexus 5(4.4.2)手电筒LED无法打开

7
我写了一个简单的手电筒应用程序,已在HTC Sensation、Nexus 7、HTC One、Moto X、Galaxy S3、Galaxy S4和Nexus 5上进行了测试。唯一不起作用的是Nexus 5。它没有抛出异常,因此很难找出问题所在。
这是我一直在使用的代码,除了Nexus 5外都可以正常工作:
            sCamera = Camera.open();
            sParameters = sCamera.getParameters();
            sParameters.setFlashMode(Parameters.FLASH_MODE_TORCH);
            sCamera.setParameters(sParameters);
            sCamera.startPreview();

这是当LED应该被打开时,在LogCat中发生的截图:http://i.imgur.com/vXn5PoH.png

我已经从Nexus 5中列出了闪光灯模式列表,它们是:开、关、自动、手电筒和红眼。这和预期一样。我已经尝试在开、关和手电筒之间切换,但甚至没有让灯光闪烁。而且我知道LED并没有坏,因为其他手电筒应用程序都可以正常工作。


你是否在使用相机对象时使用了SurfaceView?因为有些设备需要SurfaceView才能使相机对象和闪光灯正常工作。参考链接:https://dev59.com/Znvaa4cB1Zd3GeqPFJhN。也许这不是问题的原因,因为我还没有看到代码。 - Syed Raza Mehdi
1个回答

8
这听起来正如Syed所提到的...请尝试按以下方式设置Surface View:
    try {
        sCamera.setPreviewTexture(new SurfaceTexture(0));
    } catch (IOException ex) {
        // Ignore
    }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接