diff --git a/entry/src/main/ets/mode/CameraService.ets b/entry/src/main/ets/mode/CameraService.ets index dd8fc801bc3828b696fa852339856fef103f2637..db564087dcc08cbca3cdcfdbf1d4440c26e00206 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 0e8b48720eb3824f06e95729a20cef244916a114..10dd3842a83221a0066593e13b73cfffa6916236 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'); }