在所有设备/ APIversion上使用手电筒模式

时间:2015-05-11 13:13:54

标签: android

我正在开发一个简单的火炬应用程序。按钮位于notiffication抽屉中(有多个按钮,如wifi开/关,转到手机设置等...)

此代码:

 camera = Camera.open();
 Camera.Parameters p = camera.getParameters();
 p.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
 camera.setParameters(p);
 camera.startPreview();

在很多设备上工作正常,即使在棒棒糖上也是如此。 但它不适用于我的Nexus 5(版本为Android 5.1)。

尝试使用新的Camera2 api,但它会在不运行棒棒糖的设备上抛出Verrification Error。

你知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

您需要先设置预览曲面,然后才能开始预览。有些设备(不幸的是)允许这样做,这会导致混淆,但API需要将Surface或SurfaceTexture设置为预览目标才能开始预览。

如果您不想在应用中显示预览,则可以创建虚拟SurfaceTexture。