diff --git a/services/camera_service/src/hcamera_device.cpp b/services/camera_service/src/hcamera_device.cpp index feb5663..64c852f 100644 --- a/services/camera_service/src/hcamera_device.cpp +++ b/services/camera_service/src/hcamera_device.cpp @@ -191,11 +191,12 @@ void HCameraDevice::ReportFlashEvent(const std::shared_ptrget(), OHOS_CONTROL_FLASH_MODE, &item); if (ret == CAM_META_SUCCESS) { flashMode = static_cast(item.data.u8[0]); - POWERMGR_SYSEVENT_FLASH_ON(); - } else { - MEDIA_ERR_LOG("ReportFlashEvent::GetFlashMode Failed with return code %{public}d", ret); - flashMode = OHOS_CAMERA_FLASH_MODE_CLOSE; + } + + if (flashMode == OHOS_CAMERA_FLASH_MODE_CLOSE) { POWERMGR_SYSEVENT_FLASH_OFF(); + } else { + POWERMGR_SYSEVENT_FLASH_ON(); } }