在Android API 22中打开摄像头指示灯

在Android API 22中打开摄像头指示灯,android,Android,我已经写了一个简单的例子来打开/关闭摄像机灯 我的代码在Android API 21中100%工作,但在HTC One加API 22中,摄像头指示灯不亮 我的代码: if (!isFlashOn) { if (camera == null || mParams == null) { return; } _player.Start(); mParams =

我已经写了一个简单的例子来打开/关闭摄像机灯

我的代码在Android API 21中100%工作,但在HTC One加API 22中,摄像头指示灯不亮

我的代码:

if (!isFlashOn)
        {
            if (camera == null || mParams == null) {
                return;
            }
            _player.Start();
            mParams = camera.GetParameters();
            mParams.FlashMode = Parameters.FlashModeTorch;
            camera.SetParameters(mParams);
            camera.StartPreview();
            isFlashOn = true;
            btnFlash.SetImageResource(Resource.Drawable.power_on);

        }
这应该起作用:

camera = Camera.open();
Camera.Parameters mParams = camera.getParameters();
mParams.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
camera.setParameters(mParams);
mPreviewTexture = new SurfaceTexture(0);
try {
   camera.setPreviewTexture(mPreviewTexture);
} catch (IOException ex) {
   // ioexception
}
camera.startPreview();

另外,请确保您在清单文件中有摄像头权限。

尝试检查HTC中是否存在FlashModeTorch,可能需要根据设备进行更改确保您在运行时请求摄像头权限。谢谢大家,我已经使用了Ashish Ranjan的解决方案:)很高兴提供帮助!您可以将答案标记为正确,以便其他人可以从中受益。