From 2fd777a3fd7af4c6d034553b4b4486658eb7da5c Mon Sep 17 00:00:00 2001 From: yxk2026 <10178404+yxk2026@user.noreply.gitee.com> Date: Tue, 10 Sep 2024 15:19:56 +0800 Subject: [PATCH] =?UTF-8?q?camera=E4=BF=9D=E5=AD=98=E5=9B=BE=E7=89=87?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- entry/src/main/ets/mode/CameraService.ets | 15 +++++++++++++++ entry/src/main/ets/views/ModeComponent.ets | 1 + 2 files changed, 16 insertions(+) diff --git a/entry/src/main/ets/mode/CameraService.ets b/entry/src/main/ets/mode/CameraService.ets index dd8fc80..db56408 100644 --- a/entry/src/main/ets/mode/CameraService.ets +++ b/entry/src/main/ets/mode/CameraService.ets @@ -306,6 +306,21 @@ class CameraService { Logger.info(TAG, 'takePicture end'); } + async saveCameraPhoto(asset: photoAccessHelper.PhotoAsset) { + Logger.info('saveCameraPhoto'); + try { + let context = getContext(this); + let phAccessHelper = photoAccessHelper.getPhotoAccessHelper(context); + let assetChangeRequest: photoAccessHelper.MediaAssetChangeRequest = + new photoAccessHelper.MediaAssetChangeRequest(asset); + assetChangeRequest.saveCameraPhoto(); + await phAccessHelper.applyChanges(assetChangeRequest); + Logger.info('apply saveCameraPhoto successfully'); + } catch (err) { + Logger.error(`apply saveCameraPhoto failed with error: ${err.code}, ${err.message}`); + } + } + /** * 释放会话及其相关参数 */ diff --git a/entry/src/main/ets/views/ModeComponent.ets b/entry/src/main/ets/views/ModeComponent.ets index 0e8b487..10dd384 100644 --- a/entry/src/main/ets/views/ModeComponent.ets +++ b/entry/src/main/ets/views/ModeComponent.ets @@ -43,6 +43,7 @@ export struct ModeComponent { handleSavePicture = (photoAsset: photoAccessHelper.PhotoAsset): void => { Logger.info(TAG, 'handleSavePicture'); this.setImageInfo(photoAsset); + CameraService.saveCameraPhoto(photoAsset); AppStorage.set('isOpenEditPage', true); Logger.info(TAG, 'setImageInfo end'); } -- Gitee