在Android API 22

时间:2016-06-30 06:34:49

标签: android

我写了一个简单的例子来打开/关闭相机灯

我的代码在Android API 21中100%工作,但在HTC One Plus 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);

        }

1 个答案:

答案 0 :(得分:1)

这应该有效:

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();

另外,请确保您在清单文件中拥有相机权限。