1e41f4b71Sopenharmony_ci# @ohos.file.photoAccessHelper (Album Management) (System API) 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ciThe **photoAccessHelper** module provides APIs for album management, including creating an album and accessing and modifying media data in an album. 4e41f4b71Sopenharmony_ci 5e41f4b71Sopenharmony_ci> **NOTE** 6e41f4b71Sopenharmony_ci> 7e41f4b71Sopenharmony_ci> - The initial APIs of this module are supported since API version 10. Newly added APIs will be marked with a superscript to indicate their earliest API version. 8e41f4b71Sopenharmony_ci> - This topic describes only the system APIs provided by the module. For details about its public APIs, see [@ohos.file.photoAccessHelper (Album Management)](js-apis-photoAccessHelper.md). 9e41f4b71Sopenharmony_ci 10e41f4b71Sopenharmony_ci## Modules to Import 11e41f4b71Sopenharmony_ci 12e41f4b71Sopenharmony_ci```ts 13e41f4b71Sopenharmony_ciimport { photoAccessHelper } from '@kit.MediaLibraryKit'; 14e41f4b71Sopenharmony_ci``` 15e41f4b71Sopenharmony_ci 16e41f4b71Sopenharmony_ci## PhotoAccessHelper 17e41f4b71Sopenharmony_ci 18e41f4b71Sopenharmony_ci### createAsset 19e41f4b71Sopenharmony_ci 20e41f4b71Sopenharmony_cicreateAsset(displayName: string, callback: AsyncCallback<PhotoAsset>): void 21e41f4b71Sopenharmony_ci 22e41f4b71Sopenharmony_ciCreates an image or video asset with the specified file name. This API uses an asynchronous callback to return the result. 23e41f4b71Sopenharmony_ci 24e41f4b71Sopenharmony_ciThe file name must comply with the following specifications: 25e41f4b71Sopenharmony_ci- The file name consists of a valid file name and an image or video file name extension. 26e41f4b71Sopenharmony_ci- The file name cannot exceed 255 characters. 27e41f4b71Sopenharmony_ci- The file name cannot contain any of the following characters:<br> . .. \ / : * ? " ' ` < > | { } [ ] 28e41f4b71Sopenharmony_ci 29e41f4b71Sopenharmony_ci**System API**: This is a system API. 30e41f4b71Sopenharmony_ci 31e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 32e41f4b71Sopenharmony_ci 33e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.WRITE_IMAGEVIDEO 34e41f4b71Sopenharmony_ci 35e41f4b71Sopenharmony_ci**Parameters** 36e41f4b71Sopenharmony_ci 37e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 38e41f4b71Sopenharmony_ci| -------- | ------------------------ | ---- | ------------------------- | 39e41f4b71Sopenharmony_ci| displayName | string | Yes | File name of the image or video to create. | 40e41f4b71Sopenharmony_ci| callback | AsyncCallback<[PhotoAsset](#photoasset)> | Yes | Callback invoked to return the image or video created.| 41e41f4b71Sopenharmony_ci 42e41f4b71Sopenharmony_ci**Error codes** 43e41f4b71Sopenharmony_ci 44e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 45e41f4b71Sopenharmony_ci 46e41f4b71Sopenharmony_ci| ID| Error Message| 47e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 48e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 49e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 50e41f4b71Sopenharmony_ci| 13900012 | Permission denied. | 51e41f4b71Sopenharmony_ci| 13900020 | Invalid argument. | 52e41f4b71Sopenharmony_ci| 14000001 | Invalid display name. | 53e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 54e41f4b71Sopenharmony_ci 55e41f4b71Sopenharmony_ci**Example** 56e41f4b71Sopenharmony_ci 57e41f4b71Sopenharmony_ci```ts 58e41f4b71Sopenharmony_ciasync function example() { 59e41f4b71Sopenharmony_ci console.info('createAssetDemo'); 60e41f4b71Sopenharmony_ci let testFileName: string = 'testFile' + Date.now() + '.jpg'; 61e41f4b71Sopenharmony_ci phAccessHelper.createAsset(testFileName, (err, photoAsset) => { 62e41f4b71Sopenharmony_ci if (photoAsset !== undefined) { 63e41f4b71Sopenharmony_ci console.info('createAsset file displayName' + photoAsset.displayName); 64e41f4b71Sopenharmony_ci console.info('createAsset successfully'); 65e41f4b71Sopenharmony_ci } else { 66e41f4b71Sopenharmony_ci console.error(`createAsset failed, error: ${err.code}, ${err.message}`); 67e41f4b71Sopenharmony_ci } 68e41f4b71Sopenharmony_ci }); 69e41f4b71Sopenharmony_ci} 70e41f4b71Sopenharmony_ci``` 71e41f4b71Sopenharmony_ci 72e41f4b71Sopenharmony_ci### createAsset 73e41f4b71Sopenharmony_ci 74e41f4b71Sopenharmony_cicreateAsset(displayName: string): Promise<PhotoAsset> 75e41f4b71Sopenharmony_ci 76e41f4b71Sopenharmony_ciCreates an image or video asset with the specified file name. This API uses a promise to return the result. 77e41f4b71Sopenharmony_ci 78e41f4b71Sopenharmony_ciThe file name must comply with the following specifications: 79e41f4b71Sopenharmony_ci- The file name consists of a valid file name and an image or video file name extension. 80e41f4b71Sopenharmony_ci- The file name cannot exceed 255 characters. 81e41f4b71Sopenharmony_ci- The file name cannot contain any of the following characters:<br> . .. \ / : * ? " ' ` < > | { } [ ] 82e41f4b71Sopenharmony_ci 83e41f4b71Sopenharmony_ci**System API**: This is a system API. 84e41f4b71Sopenharmony_ci 85e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 86e41f4b71Sopenharmony_ci 87e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.WRITE_IMAGEVIDEO 88e41f4b71Sopenharmony_ci 89e41f4b71Sopenharmony_ci**Parameters** 90e41f4b71Sopenharmony_ci 91e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 92e41f4b71Sopenharmony_ci| -------- | ------------------------ | ---- | ------------------------- | 93e41f4b71Sopenharmony_ci| displayName | string | Yes | File name of the image or video to create. | 94e41f4b71Sopenharmony_ci 95e41f4b71Sopenharmony_ci**Return value** 96e41f4b71Sopenharmony_ci 97e41f4b71Sopenharmony_ci| Type | Description | 98e41f4b71Sopenharmony_ci| --------------------------- | -------------- | 99e41f4b71Sopenharmony_ci| Promise<[PhotoAsset](#photoasset)> | Promise used to return the created image and video asset.| 100e41f4b71Sopenharmony_ci 101e41f4b71Sopenharmony_ci**Error codes** 102e41f4b71Sopenharmony_ci 103e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 104e41f4b71Sopenharmony_ci 105e41f4b71Sopenharmony_ci| ID| Error Message| 106e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 107e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 108e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 109e41f4b71Sopenharmony_ci| 13900012 | Permission denied. | 110e41f4b71Sopenharmony_ci| 13900020 | Invalid argument. | 111e41f4b71Sopenharmony_ci| 14000001 | Invalid display name. | 112e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 113e41f4b71Sopenharmony_ci 114e41f4b71Sopenharmony_ci**Example** 115e41f4b71Sopenharmony_ci 116e41f4b71Sopenharmony_ci```ts 117e41f4b71Sopenharmony_ciasync function example() { 118e41f4b71Sopenharmony_ci console.info('createAssetDemo'); 119e41f4b71Sopenharmony_ci try { 120e41f4b71Sopenharmony_ci let testFileName: string = 'testFile' + Date.now() + '.jpg'; 121e41f4b71Sopenharmony_ci let photoAsset: photoAccessHelper.PhotoAsset = await phAccessHelper.createAsset(testFileName); 122e41f4b71Sopenharmony_ci console.info('createAsset file displayName' + photoAsset.displayName); 123e41f4b71Sopenharmony_ci console.info('createAsset successfully'); 124e41f4b71Sopenharmony_ci } catch (err) { 125e41f4b71Sopenharmony_ci console.error(`createAsset failed, error: ${err.code}, ${err.message}`); 126e41f4b71Sopenharmony_ci } 127e41f4b71Sopenharmony_ci} 128e41f4b71Sopenharmony_ci``` 129e41f4b71Sopenharmony_ci 130e41f4b71Sopenharmony_ci### createAsset 131e41f4b71Sopenharmony_ci 132e41f4b71Sopenharmony_cicreateAsset(displayName: string, options: PhotoCreateOptions, callback: AsyncCallback<PhotoAsset>): void 133e41f4b71Sopenharmony_ci 134e41f4b71Sopenharmony_ciCreates an image or video asset with the specified file name and options. This API uses an asynchronous callback to return the result. 135e41f4b71Sopenharmony_ci 136e41f4b71Sopenharmony_ciThe file name must comply with the following specifications: 137e41f4b71Sopenharmony_ci- The file name consists of a valid file name and an image or video file name extension. 138e41f4b71Sopenharmony_ci- The file name cannot exceed 255 characters. 139e41f4b71Sopenharmony_ci- The file name cannot contain any of the following characters:<br> . .. \ / : * ? " ' ` < > | { } [ ] 140e41f4b71Sopenharmony_ci 141e41f4b71Sopenharmony_ci**System API**: This is a system API. 142e41f4b71Sopenharmony_ci 143e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 144e41f4b71Sopenharmony_ci 145e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.WRITE_IMAGEVIDEO 146e41f4b71Sopenharmony_ci 147e41f4b71Sopenharmony_ci**Parameters** 148e41f4b71Sopenharmony_ci 149e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 150e41f4b71Sopenharmony_ci| -------- | ------------------------ | ---- | ------------------------- | 151e41f4b71Sopenharmony_ci| displayName | string | Yes | File name of the image or video to create. | 152e41f4b71Sopenharmony_ci| options | [PhotoCreateOptions](#photocreateoptions) | Yes | Options for creating an image or video asset. | 153e41f4b71Sopenharmony_ci| callback | AsyncCallback<[PhotoAsset](#photoasset)> | Yes | Callback invoked to return the image or video created.| 154e41f4b71Sopenharmony_ci 155e41f4b71Sopenharmony_ci**Error codes** 156e41f4b71Sopenharmony_ci 157e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 158e41f4b71Sopenharmony_ci 159e41f4b71Sopenharmony_ci| ID| Error Message| 160e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 161e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 162e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 163e41f4b71Sopenharmony_ci| 13900012 | Permission denied. | 164e41f4b71Sopenharmony_ci| 13900020 | Invalid argument. | 165e41f4b71Sopenharmony_ci| 14000001 | Invalid display name. | 166e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 167e41f4b71Sopenharmony_ci 168e41f4b71Sopenharmony_ci**Example** 169e41f4b71Sopenharmony_ci 170e41f4b71Sopenharmony_ci```ts 171e41f4b71Sopenharmony_ciasync function example() { 172e41f4b71Sopenharmony_ci console.info('createAssetDemo'); 173e41f4b71Sopenharmony_ci let testFileName: string = 'testFile' + Date.now() + '.jpg'; 174e41f4b71Sopenharmony_ci let createOption: photoAccessHelper.PhotoCreateOptions = { 175e41f4b71Sopenharmony_ci subtype: photoAccessHelper.PhotoSubtype.DEFAULT 176e41f4b71Sopenharmony_ci } 177e41f4b71Sopenharmony_ci phAccessHelper.createAsset(testFileName, createOption, (err, photoAsset) => { 178e41f4b71Sopenharmony_ci if (photoAsset !== undefined) { 179e41f4b71Sopenharmony_ci console.info('createAsset file displayName' + photoAsset.displayName); 180e41f4b71Sopenharmony_ci console.info('createAsset successfully'); 181e41f4b71Sopenharmony_ci } else { 182e41f4b71Sopenharmony_ci console.error(`createAsset failed, error: ${err.code}, ${err.message}`); 183e41f4b71Sopenharmony_ci } 184e41f4b71Sopenharmony_ci }); 185e41f4b71Sopenharmony_ci} 186e41f4b71Sopenharmony_ci``` 187e41f4b71Sopenharmony_ci 188e41f4b71Sopenharmony_ci### createAsset 189e41f4b71Sopenharmony_ci 190e41f4b71Sopenharmony_cicreateAsset(displayName: string, options: PhotoCreateOptions): Promise<PhotoAsset> 191e41f4b71Sopenharmony_ci 192e41f4b71Sopenharmony_ciCreates an image or video asset with the specified file name and options. This API uses a promise to return the result. 193e41f4b71Sopenharmony_ci 194e41f4b71Sopenharmony_ciThe file name must comply with the following specifications: 195e41f4b71Sopenharmony_ci- The file name consists of a valid file name and an image or video file name extension. 196e41f4b71Sopenharmony_ci- The file name cannot exceed 255 characters. 197e41f4b71Sopenharmony_ci- The file name cannot contain any of the following characters:<br> . .. \ / : * ? " ' ` < > | { } [ ] 198e41f4b71Sopenharmony_ci 199e41f4b71Sopenharmony_ci**System API**: This is a system API. 200e41f4b71Sopenharmony_ci 201e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 202e41f4b71Sopenharmony_ci 203e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.WRITE_IMAGEVIDEO 204e41f4b71Sopenharmony_ci 205e41f4b71Sopenharmony_ci**Parameters** 206e41f4b71Sopenharmony_ci 207e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 208e41f4b71Sopenharmony_ci| -------- | ------------------------ | ---- | ------------------------- | 209e41f4b71Sopenharmony_ci| displayName | string | Yes | File name of the image or video to create. | 210e41f4b71Sopenharmony_ci| options | [PhotoCreateOptions](#photocreateoptions) | Yes | Options for creating an image or video asset. | 211e41f4b71Sopenharmony_ci 212e41f4b71Sopenharmony_ci**Return value** 213e41f4b71Sopenharmony_ci 214e41f4b71Sopenharmony_ci| Type | Description | 215e41f4b71Sopenharmony_ci| --------------------------- | -------------- | 216e41f4b71Sopenharmony_ci| Promise<[PhotoAsset](#photoasset)> | Promise used to return the created image and video asset.| 217e41f4b71Sopenharmony_ci 218e41f4b71Sopenharmony_ci**Error codes** 219e41f4b71Sopenharmony_ci 220e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 221e41f4b71Sopenharmony_ci 222e41f4b71Sopenharmony_ci| ID| Error Message| 223e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 224e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 225e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 226e41f4b71Sopenharmony_ci| 13900012 | Permission denied. | 227e41f4b71Sopenharmony_ci| 13900020 | Invalid argument. | 228e41f4b71Sopenharmony_ci| 14000001 | Invalid display name. | 229e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 230e41f4b71Sopenharmony_ci 231e41f4b71Sopenharmony_ci**Example** 232e41f4b71Sopenharmony_ci 233e41f4b71Sopenharmony_ci```ts 234e41f4b71Sopenharmony_ciasync function example() { 235e41f4b71Sopenharmony_ci console.info('createAssetDemo'); 236e41f4b71Sopenharmony_ci try { 237e41f4b71Sopenharmony_ci let testFileName:string = 'testFile' + Date.now() + '.jpg'; 238e41f4b71Sopenharmony_ci let createOption: photoAccessHelper.PhotoCreateOptions = { 239e41f4b71Sopenharmony_ci subtype: photoAccessHelper.PhotoSubtype.DEFAULT 240e41f4b71Sopenharmony_ci } 241e41f4b71Sopenharmony_ci let photoAsset: photoAccessHelper.PhotoAsset = await phAccessHelper.createAsset(testFileName, createOption); 242e41f4b71Sopenharmony_ci console.info('createAsset file displayName' + photoAsset.displayName); 243e41f4b71Sopenharmony_ci console.info('createAsset successfully'); 244e41f4b71Sopenharmony_ci } catch (err) { 245e41f4b71Sopenharmony_ci console.error(`createAsset failed, error: ${err.code}, ${err.message}`); 246e41f4b71Sopenharmony_ci } 247e41f4b71Sopenharmony_ci} 248e41f4b71Sopenharmony_ci``` 249e41f4b71Sopenharmony_ci 250e41f4b71Sopenharmony_ci### createAlbum<sup>(deprecated)</sup> 251e41f4b71Sopenharmony_ci 252e41f4b71Sopenharmony_cicreateAlbum(name: string, callback: AsyncCallback<Album>): void 253e41f4b71Sopenharmony_ci 254e41f4b71Sopenharmony_ciCreates an album. This API uses an asynchronous callback to return the result. 255e41f4b71Sopenharmony_ci 256e41f4b71Sopenharmony_ciThe album name must meet the following requirements: 257e41f4b71Sopenharmony_ci- The album name cannot exceed 255 characters. 258e41f4b71Sopenharmony_ci- The album name cannot contain any of the following characters:<br> . .. \ / : * ? " ' ` < > | { } [ ] 259e41f4b71Sopenharmony_ci- The album name is case-insensitive. 260e41f4b71Sopenharmony_ci- Duplicate album names are not allowed. 261e41f4b71Sopenharmony_ci 262e41f4b71Sopenharmony_ci> **NOTE** 263e41f4b71Sopenharmony_ci> 264e41f4b71Sopenharmony_ci> This API is supported since API version 10 and deprecated since API version 11. Use [MediaAlbumChangeRequest.createAlbumRequest](#createalbumrequest11) instead. 265e41f4b71Sopenharmony_ci 266e41f4b71Sopenharmony_ci**System API**: This is a system API. 267e41f4b71Sopenharmony_ci 268e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 269e41f4b71Sopenharmony_ci 270e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.WRITE_IMAGEVIDEO 271e41f4b71Sopenharmony_ci 272e41f4b71Sopenharmony_ci**Parameters** 273e41f4b71Sopenharmony_ci 274e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 275e41f4b71Sopenharmony_ci| -------- | ------------------------ | ---- | ------------------------- | 276e41f4b71Sopenharmony_ci| name | string | Yes | Name of the album to create. | 277e41f4b71Sopenharmony_ci| callback | AsyncCallback<[Album](#album)> | Yes | Callback invoked to return the created album instance.| 278e41f4b71Sopenharmony_ci 279e41f4b71Sopenharmony_ci**Error codes** 280e41f4b71Sopenharmony_ci 281e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 282e41f4b71Sopenharmony_ci 283e41f4b71Sopenharmony_ci| ID| Error Message| 284e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 285e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 286e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 287e41f4b71Sopenharmony_ci| 13900012 | Permission denied. | 288e41f4b71Sopenharmony_ci| 13900015 | File exists. | 289e41f4b71Sopenharmony_ci| 13900020 | Invalid argument. | 290e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 291e41f4b71Sopenharmony_ci 292e41f4b71Sopenharmony_ci**Example** 293e41f4b71Sopenharmony_ci 294e41f4b71Sopenharmony_ci```ts 295e41f4b71Sopenharmony_ciasync function example() { 296e41f4b71Sopenharmony_ci console.info('createAlbumDemo'); 297e41f4b71Sopenharmony_ci let albumName: string = 'newAlbumName' + new Date().getTime(); 298e41f4b71Sopenharmony_ci phAccessHelper.createAlbum(albumName, (err, album) => { 299e41f4b71Sopenharmony_ci if (err) { 300e41f4b71Sopenharmony_ci console.error(`createAlbumCallback failed with err: ${err.code}, ${err.message}`); 301e41f4b71Sopenharmony_ci return; 302e41f4b71Sopenharmony_ci } 303e41f4b71Sopenharmony_ci console.info('createAlbumCallback successfully, album: ' + album.albumName + ' album uri: ' + album.albumUri); 304e41f4b71Sopenharmony_ci }); 305e41f4b71Sopenharmony_ci} 306e41f4b71Sopenharmony_ci``` 307e41f4b71Sopenharmony_ci 308e41f4b71Sopenharmony_ci### createAlbum<sup>(deprecated)</sup> 309e41f4b71Sopenharmony_ci 310e41f4b71Sopenharmony_cicreateAlbum(name: string): Promise<Album> 311e41f4b71Sopenharmony_ci 312e41f4b71Sopenharmony_ciCreates an album. This API uses a promise to return the result. 313e41f4b71Sopenharmony_ci 314e41f4b71Sopenharmony_ciThe album name must meet the following requirements: 315e41f4b71Sopenharmony_ci- The album name cannot exceed 255 characters. 316e41f4b71Sopenharmony_ci- The album name cannot contain any of the following characters:<br> . .. \ / : * ? " ' ` < > | { } [ ] 317e41f4b71Sopenharmony_ci- The album name is case-insensitive. 318e41f4b71Sopenharmony_ci- Duplicate album names are not allowed. 319e41f4b71Sopenharmony_ci 320e41f4b71Sopenharmony_ci> **NOTE** 321e41f4b71Sopenharmony_ci> 322e41f4b71Sopenharmony_ci> This API is supported since API version 10 and deprecated since API version 11. Use [MediaAlbumChangeRequest.createAlbumRequest](#createalbumrequest11) instead. 323e41f4b71Sopenharmony_ci 324e41f4b71Sopenharmony_ci**System API**: This is a system API. 325e41f4b71Sopenharmony_ci 326e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 327e41f4b71Sopenharmony_ci 328e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.WRITE_IMAGEVIDEO 329e41f4b71Sopenharmony_ci 330e41f4b71Sopenharmony_ci**Parameters** 331e41f4b71Sopenharmony_ci 332e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 333e41f4b71Sopenharmony_ci| -------- | ------------------------ | ---- | ------------------------- | 334e41f4b71Sopenharmony_ci| name | string | Yes | Name of the album to create. | 335e41f4b71Sopenharmony_ci 336e41f4b71Sopenharmony_ci**Return value** 337e41f4b71Sopenharmony_ci 338e41f4b71Sopenharmony_ci| Type | Description | 339e41f4b71Sopenharmony_ci| --------------------------- | -------------- | 340e41f4b71Sopenharmony_ci| Promise<[Album](#album)> | Promise used to return the created album instance.| 341e41f4b71Sopenharmony_ci 342e41f4b71Sopenharmony_ci**Error codes** 343e41f4b71Sopenharmony_ci 344e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 345e41f4b71Sopenharmony_ci 346e41f4b71Sopenharmony_ci| ID| Error Message| 347e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 348e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 349e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 350e41f4b71Sopenharmony_ci| 13900012 | Permission denied. | 351e41f4b71Sopenharmony_ci| 13900015 | File exists. | 352e41f4b71Sopenharmony_ci| 13900020 | Invalid argument. | 353e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 354e41f4b71Sopenharmony_ci 355e41f4b71Sopenharmony_ci**Example** 356e41f4b71Sopenharmony_ci 357e41f4b71Sopenharmony_ci```ts 358e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 359e41f4b71Sopenharmony_ci 360e41f4b71Sopenharmony_ciasync function example() { 361e41f4b71Sopenharmony_ci console.info('createAlbumDemo'); 362e41f4b71Sopenharmony_ci let albumName: string = 'newAlbumName' + new Date().getTime(); 363e41f4b71Sopenharmony_ci phAccessHelper.createAlbum(albumName).then((album) => { 364e41f4b71Sopenharmony_ci console.info('createAlbumPromise successfully, album: ' + album.albumName + ' album uri: ' + album.albumUri); 365e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 366e41f4b71Sopenharmony_ci console.error(`createAlbumPromise failed with err: ${err.code}, ${err.message}`); 367e41f4b71Sopenharmony_ci }); 368e41f4b71Sopenharmony_ci} 369e41f4b71Sopenharmony_ci``` 370e41f4b71Sopenharmony_ci 371e41f4b71Sopenharmony_ci### deleteAlbums<sup>(deprecated)</sup> 372e41f4b71Sopenharmony_ci 373e41f4b71Sopenharmony_cideleteAlbums(albums: Array<Album>, callback: AsyncCallback<void>): void 374e41f4b71Sopenharmony_ci 375e41f4b71Sopenharmony_ciDeletes albums. This API uses an asynchronous callback to return the result. 376e41f4b71Sopenharmony_ci 377e41f4b71Sopenharmony_ciEnsure that the albums to be deleted exist. Only user albums can be deleted. 378e41f4b71Sopenharmony_ci 379e41f4b71Sopenharmony_ci> **NOTE** 380e41f4b71Sopenharmony_ci> 381e41f4b71Sopenharmony_ci> This API is supported since API version 10 and deprecated since API version 11. Use [MediaAlbumChangeRequest.deleteAlbums](#deletealbums11) instead. 382e41f4b71Sopenharmony_ci 383e41f4b71Sopenharmony_ci**System API**: This is a system API. 384e41f4b71Sopenharmony_ci 385e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 386e41f4b71Sopenharmony_ci 387e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.WRITE_IMAGEVIDEO 388e41f4b71Sopenharmony_ci 389e41f4b71Sopenharmony_ci**Parameters** 390e41f4b71Sopenharmony_ci 391e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 392e41f4b71Sopenharmony_ci| -------- | ------------------------ | ---- | ------------------------- | 393e41f4b71Sopenharmony_ci| albums | Array<[Album](#album)> | Yes | Albums to delete. | 394e41f4b71Sopenharmony_ci| callback | AsyncCallback<void> | Yes | Callback that returns no value.| 395e41f4b71Sopenharmony_ci 396e41f4b71Sopenharmony_ci**Error codes** 397e41f4b71Sopenharmony_ci 398e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 399e41f4b71Sopenharmony_ci 400e41f4b71Sopenharmony_ci| ID| Error Message| 401e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 402e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 403e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 404e41f4b71Sopenharmony_ci| 13900012 | Permission denied. | 405e41f4b71Sopenharmony_ci| 13900020 | Invalid argument. | 406e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 407e41f4b71Sopenharmony_ci 408e41f4b71Sopenharmony_ci**Example** 409e41f4b71Sopenharmony_ci 410e41f4b71Sopenharmony_ci```ts 411e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 412e41f4b71Sopenharmony_ci 413e41f4b71Sopenharmony_ciasync function example() { 414e41f4b71Sopenharmony_ci // Delete the album named newAlbumName. 415e41f4b71Sopenharmony_ci console.info('deleteAlbumsDemo'); 416e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 417e41f4b71Sopenharmony_ci predicates.equalTo('album_name', 'newAlbumName'); 418e41f4b71Sopenharmony_ci let fetchOptions: photoAccessHelper.FetchOptions = { 419e41f4b71Sopenharmony_ci fetchColumns: [], 420e41f4b71Sopenharmony_ci predicates: predicates 421e41f4b71Sopenharmony_ci }; 422e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.USER, photoAccessHelper.AlbumSubtype.USER_GENERIC, fetchOptions); 423e41f4b71Sopenharmony_ci let album: photoAccessHelper.Album = await fetchResult.getFirstObject(); 424e41f4b71Sopenharmony_ci phAccessHelper.deleteAlbums([album], (err) => { 425e41f4b71Sopenharmony_ci if (err) { 426e41f4b71Sopenharmony_ci console.error(`deletePhotoAlbumsCallback failed with err: ${err.code}, ${err.message}`); 427e41f4b71Sopenharmony_ci return; 428e41f4b71Sopenharmony_ci } 429e41f4b71Sopenharmony_ci console.info('deletePhotoAlbumsCallback successfully'); 430e41f4b71Sopenharmony_ci }); 431e41f4b71Sopenharmony_ci fetchResult.close(); 432e41f4b71Sopenharmony_ci} 433e41f4b71Sopenharmony_ci``` 434e41f4b71Sopenharmony_ci 435e41f4b71Sopenharmony_ci### deleteAlbums<sup>(deprecated)</sup> 436e41f4b71Sopenharmony_ci 437e41f4b71Sopenharmony_cideleteAlbums(albums: Array<Album>): Promise<void> 438e41f4b71Sopenharmony_ci 439e41f4b71Sopenharmony_ciDeletes albums. This API uses a promise to return the result. 440e41f4b71Sopenharmony_ci 441e41f4b71Sopenharmony_ciEnsure that the albums to be deleted exist. Only user albums can be deleted. 442e41f4b71Sopenharmony_ci 443e41f4b71Sopenharmony_ci> **NOTE** 444e41f4b71Sopenharmony_ci> 445e41f4b71Sopenharmony_ci> This API is supported since API version 10 and deprecated since API version 11. Use [MediaAlbumChangeRequest.deleteAlbums](#deletealbums11) instead. 446e41f4b71Sopenharmony_ci 447e41f4b71Sopenharmony_ci**System API**: This is a system API. 448e41f4b71Sopenharmony_ci 449e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 450e41f4b71Sopenharmony_ci 451e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.WRITE_IMAGEVIDEO 452e41f4b71Sopenharmony_ci 453e41f4b71Sopenharmony_ci**Parameters** 454e41f4b71Sopenharmony_ci 455e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 456e41f4b71Sopenharmony_ci| -------- | ------------------------ | ---- | ------------------------- | 457e41f4b71Sopenharmony_ci| albums | Array<[Album](#album)> | Yes | Albums to delete. | 458e41f4b71Sopenharmony_ci 459e41f4b71Sopenharmony_ci**Return value** 460e41f4b71Sopenharmony_ci 461e41f4b71Sopenharmony_ci| Type | Description | 462e41f4b71Sopenharmony_ci| --------------------------- | -------------- | 463e41f4b71Sopenharmony_ci| Promise<void> | Promise that returns no value.| 464e41f4b71Sopenharmony_ci 465e41f4b71Sopenharmony_ci**Error codes** 466e41f4b71Sopenharmony_ci 467e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 468e41f4b71Sopenharmony_ci 469e41f4b71Sopenharmony_ci| ID| Error Message| 470e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 471e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 472e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 473e41f4b71Sopenharmony_ci| 13900012 | Permission denied. | 474e41f4b71Sopenharmony_ci| 13900020 | Invalid argument. | 475e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 476e41f4b71Sopenharmony_ci 477e41f4b71Sopenharmony_ci**Example** 478e41f4b71Sopenharmony_ci 479e41f4b71Sopenharmony_ci```ts 480e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 481e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 482e41f4b71Sopenharmony_ci 483e41f4b71Sopenharmony_ciasync function example() { 484e41f4b71Sopenharmony_ci // Delete the album named newAlbumName. 485e41f4b71Sopenharmony_ci console.info('deleteAlbumsDemo'); 486e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 487e41f4b71Sopenharmony_ci predicates.equalTo('album_name', 'newAlbumName'); 488e41f4b71Sopenharmony_ci let fetchOptions: photoAccessHelper.FetchOptions = { 489e41f4b71Sopenharmony_ci fetchColumns: [], 490e41f4b71Sopenharmony_ci predicates: predicates 491e41f4b71Sopenharmony_ci }; 492e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.USER, photoAccessHelper.AlbumSubtype.USER_GENERIC, fetchOptions); 493e41f4b71Sopenharmony_ci let album: photoAccessHelper.Album = await fetchResult.getFirstObject(); 494e41f4b71Sopenharmony_ci phAccessHelper.deleteAlbums([album]).then(() => { 495e41f4b71Sopenharmony_ci console.info('deletePhotoAlbumsPromise successfully'); 496e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 497e41f4b71Sopenharmony_ci console.error(`deletePhotoAlbumsPromise failed with err: ${err.code}, ${err.message}`); 498e41f4b71Sopenharmony_ci }); 499e41f4b71Sopenharmony_ci fetchResult.close(); 500e41f4b71Sopenharmony_ci} 501e41f4b71Sopenharmony_ci``` 502e41f4b71Sopenharmony_ci 503e41f4b71Sopenharmony_ci### getHiddenAlbums<sup>11+</sup> 504e41f4b71Sopenharmony_ci 505e41f4b71Sopenharmony_cigetHiddenAlbums(mode: HiddenPhotosDisplayMode, options: FetchOptions, callback: AsyncCallback<FetchResult<Album>>): void 506e41f4b71Sopenharmony_ci 507e41f4b71Sopenharmony_ciObtains hidden albums based on the specified display mode and retrieval options. This API uses an asynchronous callback to return the result. 508e41f4b71Sopenharmony_ci 509e41f4b71Sopenharmony_ci**System API**: This is a system API. 510e41f4b71Sopenharmony_ci 511e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.READ_IMAGEVIDEO and ohos.permission.MANAGE_PRIVATE_PHOTOS 512e41f4b71Sopenharmony_ci 513e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 514e41f4b71Sopenharmony_ci 515e41f4b71Sopenharmony_ci**Parameters** 516e41f4b71Sopenharmony_ci 517e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 518e41f4b71Sopenharmony_ci| -------- | ------------------------ | ---- | ------------------------- | 519e41f4b71Sopenharmony_ci| mode | [HiddenPhotosDisplayMode](#hiddenphotosdisplaymode11) | Yes | Display mode of hidden files. | 520e41f4b71Sopenharmony_ci| options | [FetchOptions](js-apis-photoAccessHelper.md#fetchoptions) | Yes | Options for retrieving the hidden files. | 521e41f4b71Sopenharmony_ci| callback | AsyncCallback<[FetchResult](js-apis-photoAccessHelper.md#fetchresult)<[Album](#album)>> | Yes | Callback invoked to return the result.| 522e41f4b71Sopenharmony_ci 523e41f4b71Sopenharmony_ci**Error codes** 524e41f4b71Sopenharmony_ci 525e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 526e41f4b71Sopenharmony_ci 527e41f4b71Sopenharmony_ci| ID| Error Message| 528e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 529e41f4b71Sopenharmony_ci| 201 | Permission verification failed, usually the result returned by VerifyAccessToken. | 530e41f4b71Sopenharmony_ci| 202 | Permission verification failed, application which is not a system application uses system API. | 531e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 532e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 533e41f4b71Sopenharmony_ci 534e41f4b71Sopenharmony_ci**Example** 535e41f4b71Sopenharmony_ci 536e41f4b71Sopenharmony_ci```ts 537e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 538e41f4b71Sopenharmony_ci 539e41f4b71Sopenharmony_ci// Obtain the album newAlbumName that contains hidden files. 540e41f4b71Sopenharmony_ciasync function getHiddenAlbumsView() { 541e41f4b71Sopenharmony_ci console.info('getHiddenAlbumsViewDemo'); 542e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 543e41f4b71Sopenharmony_ci predicates.equalTo('album_name', 'newAlbumName'); 544e41f4b71Sopenharmony_ci let fetchOptions: photoAccessHelper.FetchOptions = { 545e41f4b71Sopenharmony_ci fetchColumns: [], 546e41f4b71Sopenharmony_ci predicates: predicates 547e41f4b71Sopenharmony_ci }; 548e41f4b71Sopenharmony_ci phAccessHelper.getHiddenAlbums(photoAccessHelper.HiddenPhotosDisplayMode.ALBUMS_MODE, fetchOptions, 549e41f4b71Sopenharmony_ci async (err, fetchResult) => { 550e41f4b71Sopenharmony_ci if (fetchResult === undefined) { 551e41f4b71Sopenharmony_ci console.error('getHiddenAlbumsViewCallback fetchResult is undefined'); 552e41f4b71Sopenharmony_ci return; 553e41f4b71Sopenharmony_ci } 554e41f4b71Sopenharmony_ci let album = await fetchResult.getFirstObject(); 555e41f4b71Sopenharmony_ci console.info('getHiddenAlbumsViewCallback successfully, album name: ' + album.albumName); 556e41f4b71Sopenharmony_ci fetchResult.close(); 557e41f4b71Sopenharmony_ci }); 558e41f4b71Sopenharmony_ci} 559e41f4b71Sopenharmony_ci``` 560e41f4b71Sopenharmony_ci 561e41f4b71Sopenharmony_ci### getHiddenAlbums<sup>11+</sup> 562e41f4b71Sopenharmony_ci 563e41f4b71Sopenharmony_cigetHiddenAlbums(mode: HiddenPhotosDisplayMode, callback: AsyncCallback<FetchResult<Album>>): void 564e41f4b71Sopenharmony_ci 565e41f4b71Sopenharmony_ciObtains hidden albums based on the specified display mode. This API uses an asynchronous callback to return the result. 566e41f4b71Sopenharmony_ci 567e41f4b71Sopenharmony_ci**System API**: This is a system API. 568e41f4b71Sopenharmony_ci 569e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.READ_IMAGEVIDEO and ohos.permission.MANAGE_PRIVATE_PHOTOS 570e41f4b71Sopenharmony_ci 571e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 572e41f4b71Sopenharmony_ci 573e41f4b71Sopenharmony_ci**Parameters** 574e41f4b71Sopenharmony_ci 575e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 576e41f4b71Sopenharmony_ci| -------- | ------------------------ | ---- | ------------------------- | 577e41f4b71Sopenharmony_ci| mode | [HiddenPhotosDisplayMode](#hiddenphotosdisplaymode11) | Yes | Display mode of hidden files. | 578e41f4b71Sopenharmony_ci| callback | AsyncCallback<[FetchResult](js-apis-photoAccessHelper.md#fetchresult)<[Album](#album)>> | Yes | Callback invoked to return the result.| 579e41f4b71Sopenharmony_ci 580e41f4b71Sopenharmony_ci**Error codes** 581e41f4b71Sopenharmony_ci 582e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 583e41f4b71Sopenharmony_ci 584e41f4b71Sopenharmony_ci| ID| Error Message| 585e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 586e41f4b71Sopenharmony_ci| 201 | Permission verification failed, usually the result returned by VerifyAccessToken. | 587e41f4b71Sopenharmony_ci| 202 | Permission verification failed, application which is not a system application uses system API. | 588e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 589e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 590e41f4b71Sopenharmony_ci 591e41f4b71Sopenharmony_ci**Example** 592e41f4b71Sopenharmony_ci 593e41f4b71Sopenharmony_ci```ts 594e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 595e41f4b71Sopenharmony_ci 596e41f4b71Sopenharmony_ci// Obtain the preset hidden album. 597e41f4b71Sopenharmony_ciasync function getSysHiddenAlbum() { 598e41f4b71Sopenharmony_ci console.info('getSysHiddenAlbumDemo'); 599e41f4b71Sopenharmony_ci phAccessHelper.getHiddenAlbums(photoAccessHelper.HiddenPhotosDisplayMode.ASSETS_MODE, async (err, fetchResult) => { 600e41f4b71Sopenharmony_ci if (fetchResult === undefined) { 601e41f4b71Sopenharmony_ci console.error('getSysHiddenAlbumCallback fetchResult is undefined'); 602e41f4b71Sopenharmony_ci return; 603e41f4b71Sopenharmony_ci } 604e41f4b71Sopenharmony_ci let hiddenAlbum: photoAccessHelper.Album = await fetchResult.getFirstObject(); 605e41f4b71Sopenharmony_ci console.info('getSysHiddenAlbumCallback successfully, albumUri: ' + hiddenAlbum.albumUri); 606e41f4b71Sopenharmony_ci fetchResult.close(); 607e41f4b71Sopenharmony_ci }); 608e41f4b71Sopenharmony_ci} 609e41f4b71Sopenharmony_ci 610e41f4b71Sopenharmony_ci// Obtain the hidden albums displayed by album, that is, the albums with hidden files. Such albums do not include the preset hidden album and the albums in the trash. 611e41f4b71Sopenharmony_ciasync function getHiddenAlbumsView() { 612e41f4b71Sopenharmony_ci console.info('getHiddenAlbumsViewDemo'); 613e41f4b71Sopenharmony_ci phAccessHelper.getHiddenAlbums(photoAccessHelper.HiddenPhotosDisplayMode.ALBUMS_MODE, async (err, fetchResult) => { 614e41f4b71Sopenharmony_ci if (fetchResult === undefined) { 615e41f4b71Sopenharmony_ci console.error('getHiddenAlbumsViewCallback fetchResult is undefined'); 616e41f4b71Sopenharmony_ci return; 617e41f4b71Sopenharmony_ci } 618e41f4b71Sopenharmony_ci let albums: Array<photoAccessHelper.Album> = await fetchResult.getAllObjects(); 619e41f4b71Sopenharmony_ci console.info('getHiddenAlbumsViewCallback successfully, albums size: ' + albums.length); 620e41f4b71Sopenharmony_ci 621e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 622e41f4b71Sopenharmony_ci let fetchOption: photoAccessHelper.FetchOptions = { 623e41f4b71Sopenharmony_ci fetchColumns: [], 624e41f4b71Sopenharmony_ci predicates: predicates 625e41f4b71Sopenharmony_ci }; 626e41f4b71Sopenharmony_ci for (let i = 0; i < albums.length; i++) { 627e41f4b71Sopenharmony_ci // Obtain hidden files in the album. 628e41f4b71Sopenharmony_ci albums[i].getAssets(fetchOption, (err, assetFetchResult) => { 629e41f4b71Sopenharmony_ci console.info('album get hidden assets successfully, getCount: ' + assetFetchResult.getCount()); 630e41f4b71Sopenharmony_ci }); 631e41f4b71Sopenharmony_ci } 632e41f4b71Sopenharmony_ci fetchResult.close(); 633e41f4b71Sopenharmony_ci }); 634e41f4b71Sopenharmony_ci} 635e41f4b71Sopenharmony_ci``` 636e41f4b71Sopenharmony_ci 637e41f4b71Sopenharmony_ci### getHiddenAlbums<sup>11+</sup> 638e41f4b71Sopenharmony_ci 639e41f4b71Sopenharmony_cigetHiddenAlbums(mode: HiddenPhotosDisplayMode, options?: FetchOptions): Promise<FetchResult<Album>> 640e41f4b71Sopenharmony_ci 641e41f4b71Sopenharmony_ciObtains hidden albums based on the specified display mode and retrieval options. This API uses a promise to return the result. 642e41f4b71Sopenharmony_ci 643e41f4b71Sopenharmony_ci**System API**: This is a system API. 644e41f4b71Sopenharmony_ci 645e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.READ_IMAGEVIDEO and ohos.permission.MANAGE_PRIVATE_PHOTOS 646e41f4b71Sopenharmony_ci 647e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 648e41f4b71Sopenharmony_ci 649e41f4b71Sopenharmony_ci**Parameters** 650e41f4b71Sopenharmony_ci 651e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 652e41f4b71Sopenharmony_ci| -------- | ------------------------ | ---- | ------------------------- | 653e41f4b71Sopenharmony_ci| mode | [HiddenPhotosDisplayMode](#hiddenphotosdisplaymode11) | Yes | Display mode of hidden files. | 654e41f4b71Sopenharmony_ci| options | [FetchOptions](js-apis-photoAccessHelper.md#fetchoptions) | No | Options for retrieving the files. If this parameter is not specified, the files are retrieved based on the display mode of hidden files. | 655e41f4b71Sopenharmony_ci 656e41f4b71Sopenharmony_ci**Return value** 657e41f4b71Sopenharmony_ci 658e41f4b71Sopenharmony_ci| Type | Description | 659e41f4b71Sopenharmony_ci| --------------------------- | -------------- | 660e41f4b71Sopenharmony_ci| Promise<[FetchResult](js-apis-photoAccessHelper.md#fetchresult)<[Album](#album)>> | Promise used to return the result. 661e41f4b71Sopenharmony_ci 662e41f4b71Sopenharmony_ci**Error codes** 663e41f4b71Sopenharmony_ci 664e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 665e41f4b71Sopenharmony_ci 666e41f4b71Sopenharmony_ci| ID| Error Message| 667e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 668e41f4b71Sopenharmony_ci| 201 | Permission verification failed, usually the result returned by VerifyAccessToken. | 669e41f4b71Sopenharmony_ci| 202 | Permission verification failed, application which is not a system application uses system API. | 670e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 671e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 672e41f4b71Sopenharmony_ci 673e41f4b71Sopenharmony_ci**Example** 674e41f4b71Sopenharmony_ci 675e41f4b71Sopenharmony_ci```ts 676e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 677e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 678e41f4b71Sopenharmony_ci 679e41f4b71Sopenharmony_ci// Obtain the preset hidden album. 680e41f4b71Sopenharmony_ciasync function getSysHiddenAlbum() { 681e41f4b71Sopenharmony_ci console.info('getSysHiddenAlbumDemo'); 682e41f4b71Sopenharmony_ci phAccessHelper.getHiddenAlbums(photoAccessHelper.HiddenPhotosDisplayMode.ASSETS_MODE) 683e41f4b71Sopenharmony_ci .then( async (fetchResult) => { 684e41f4b71Sopenharmony_ci if (fetchResult === undefined) { 685e41f4b71Sopenharmony_ci console.error('getSysHiddenAlbumPromise fetchResult is undefined'); 686e41f4b71Sopenharmony_ci return; 687e41f4b71Sopenharmony_ci } 688e41f4b71Sopenharmony_ci let hiddenAlbum: photoAccessHelper.Album = await fetchResult.getFirstObject(); 689e41f4b71Sopenharmony_ci console.info('getAlbumsPromise successfully, albumUri: ' + hiddenAlbum.albumUri); 690e41f4b71Sopenharmony_ci fetchResult.close(); 691e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 692e41f4b71Sopenharmony_ci console.error(`getSysHiddenAlbumPromise failed with err: ${err.code}, ${err.message}`); 693e41f4b71Sopenharmony_ci }); 694e41f4b71Sopenharmony_ci} 695e41f4b71Sopenharmony_ci 696e41f4b71Sopenharmony_ci// Obtain the hidden albums displayed by album, that is, the albums with hidden files. Such albums do not include the preset hidden album and the albums in the trash. 697e41f4b71Sopenharmony_ciasync function getHiddenAlbumsView() { 698e41f4b71Sopenharmony_ci console.info('getHiddenAlbumsViewDemo'); 699e41f4b71Sopenharmony_ci phAccessHelper.getHiddenAlbums(photoAccessHelper.HiddenPhotosDisplayMode.ALBUMS_MODE).then( async (fetchResult) => { 700e41f4b71Sopenharmony_ci if (fetchResult === undefined) { 701e41f4b71Sopenharmony_ci console.error('getHiddenAlbumsViewPromise fetchResult is undefined'); 702e41f4b71Sopenharmony_ci return; 703e41f4b71Sopenharmony_ci } 704e41f4b71Sopenharmony_ci let albums: Array<photoAccessHelper.Album> = await fetchResult.getAllObjects(); 705e41f4b71Sopenharmony_ci console.info('getHiddenAlbumsViewPromise successfully, albums size: ' + albums.length); 706e41f4b71Sopenharmony_ci 707e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 708e41f4b71Sopenharmony_ci let fetchOption: photoAccessHelper.FetchOptions = { 709e41f4b71Sopenharmony_ci fetchColumns: [], 710e41f4b71Sopenharmony_ci predicates: predicates 711e41f4b71Sopenharmony_ci }; 712e41f4b71Sopenharmony_ci for (let i = 0; i < albums.length; i++) { 713e41f4b71Sopenharmony_ci // Obtain hidden files in the album. 714e41f4b71Sopenharmony_ci albums[i].getAssets(fetchOption).then((assetFetchResult) => { 715e41f4b71Sopenharmony_ci console.info('album get hidden assets successfully, getCount: ' + assetFetchResult.getCount()); 716e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 717e41f4b71Sopenharmony_ci console.error(`album get hidden assets failed with error: ${err.code}, ${err.message}`); 718e41f4b71Sopenharmony_ci }); 719e41f4b71Sopenharmony_ci } 720e41f4b71Sopenharmony_ci fetchResult.close(); 721e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 722e41f4b71Sopenharmony_ci console.error(`getHiddenAlbumsViewPromise failed with err: ${err.code}, ${err.message}`); 723e41f4b71Sopenharmony_ci }); 724e41f4b71Sopenharmony_ci} 725e41f4b71Sopenharmony_ci``` 726e41f4b71Sopenharmony_ci 727e41f4b71Sopenharmony_ci### deleteAssets<sup>(deprecated)</sup> 728e41f4b71Sopenharmony_ci 729e41f4b71Sopenharmony_cideleteAssets(uriList: Array<string>, callback: AsyncCallback<void>): void 730e41f4b71Sopenharmony_ci 731e41f4b71Sopenharmony_ciDeletes media assets. This API uses an asynchronous callback to return the result. The deleted assets are moved to the trash. 732e41f4b71Sopenharmony_ci 733e41f4b71Sopenharmony_ci> **NOTE** 734e41f4b71Sopenharmony_ci> 735e41f4b71Sopenharmony_ci> This API is supported since API version 10 and deprecated since API version 11. Use [MediaAssetChangeRequest.deleteAssets](js-apis-photoAccessHelper.md#deleteassets11) instead. 736e41f4b71Sopenharmony_ci 737e41f4b71Sopenharmony_ci**System API**: This is a system API. 738e41f4b71Sopenharmony_ci 739e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.WRITE_IMAGEVIDEO 740e41f4b71Sopenharmony_ci 741e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 742e41f4b71Sopenharmony_ci 743e41f4b71Sopenharmony_ci**Parameters** 744e41f4b71Sopenharmony_ci 745e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 746e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ---------- | 747e41f4b71Sopenharmony_ci| uriList | Array<string> | Yes | URIs of the media files to delete.| 748e41f4b71Sopenharmony_ci| callback | AsyncCallback<void> | Yes | Callback that returns no value.| 749e41f4b71Sopenharmony_ci 750e41f4b71Sopenharmony_ci**Error codes** 751e41f4b71Sopenharmony_ci 752e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 753e41f4b71Sopenharmony_ci 754e41f4b71Sopenharmony_ci| ID| Error Message| 755e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 756e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 757e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 758e41f4b71Sopenharmony_ci| 13900012 | Permission denied. | 759e41f4b71Sopenharmony_ci| 13900020 | Invalid argument. | 760e41f4b71Sopenharmony_ci| 14000002 | Invalid uri. | 761e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 762e41f4b71Sopenharmony_ci 763e41f4b71Sopenharmony_ci**Example** 764e41f4b71Sopenharmony_ci 765e41f4b71Sopenharmony_ci```ts 766e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 767e41f4b71Sopenharmony_ci 768e41f4b71Sopenharmony_ciasync function example() { 769e41f4b71Sopenharmony_ci console.info('deleteAssetDemo'); 770e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 771e41f4b71Sopenharmony_ci let fetchOptions: photoAccessHelper.FetchOptions = { 772e41f4b71Sopenharmony_ci fetchColumns: [], 773e41f4b71Sopenharmony_ci predicates: predicates 774e41f4b71Sopenharmony_ci }; 775e41f4b71Sopenharmony_ci try { 776e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOptions); 777e41f4b71Sopenharmony_ci let asset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject(); 778e41f4b71Sopenharmony_ci if (asset === undefined) { 779e41f4b71Sopenharmony_ci console.error('asset not exist'); 780e41f4b71Sopenharmony_ci return; 781e41f4b71Sopenharmony_ci } 782e41f4b71Sopenharmony_ci phAccessHelper.deleteAssets([asset.uri], (err) => { 783e41f4b71Sopenharmony_ci if (err === undefined) { 784e41f4b71Sopenharmony_ci console.info('deleteAssets successfully'); 785e41f4b71Sopenharmony_ci } else { 786e41f4b71Sopenharmony_ci console.error(`deleteAssets failed with error: ${err.code}, ${err.message}`); 787e41f4b71Sopenharmony_ci } 788e41f4b71Sopenharmony_ci }); 789e41f4b71Sopenharmony_ci } catch (err) { 790e41f4b71Sopenharmony_ci console.error(`fetch failed, error: ${err.code}, ${err.message}`); 791e41f4b71Sopenharmony_ci } 792e41f4b71Sopenharmony_ci} 793e41f4b71Sopenharmony_ci``` 794e41f4b71Sopenharmony_ci 795e41f4b71Sopenharmony_ci### deleteAssets<sup>(deprecated)</sup> 796e41f4b71Sopenharmony_ci 797e41f4b71Sopenharmony_cideleteAssets(uriList: Array<string>): Promise<void> 798e41f4b71Sopenharmony_ci 799e41f4b71Sopenharmony_ciDeletes media assets. This API uses a promise to return the result. The deleted assets are moved to the trash. 800e41f4b71Sopenharmony_ci 801e41f4b71Sopenharmony_ci> **NOTE** 802e41f4b71Sopenharmony_ci> 803e41f4b71Sopenharmony_ci> This API is supported since API version 10 and deprecated since API version 11. Use [MediaAssetChangeRequest.deleteAssets](js-apis-photoAccessHelper.md#deleteassets11) instead. 804e41f4b71Sopenharmony_ci 805e41f4b71Sopenharmony_ci**System API**: This is a system API. 806e41f4b71Sopenharmony_ci 807e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.WRITE_IMAGEVIDEO 808e41f4b71Sopenharmony_ci 809e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 810e41f4b71Sopenharmony_ci 811e41f4b71Sopenharmony_ci**Parameters** 812e41f4b71Sopenharmony_ci 813e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 814e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ---------- | 815e41f4b71Sopenharmony_ci| uriList | Array<string> | Yes | URIs of the media files to delete.| 816e41f4b71Sopenharmony_ci 817e41f4b71Sopenharmony_ci**Return value** 818e41f4b71Sopenharmony_ci 819e41f4b71Sopenharmony_ci| Type | Description | 820e41f4b71Sopenharmony_ci| --------------------------------------- | ----------------- | 821e41f4b71Sopenharmony_ci| Promise<void>| Promise that returns no value.| 822e41f4b71Sopenharmony_ci 823e41f4b71Sopenharmony_ci**Error codes** 824e41f4b71Sopenharmony_ci 825e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 826e41f4b71Sopenharmony_ci 827e41f4b71Sopenharmony_ci| ID| Error Message| 828e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 829e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 830e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 831e41f4b71Sopenharmony_ci| 13900012 | Permission denied. | 832e41f4b71Sopenharmony_ci| 13900020 | Invalid argument. | 833e41f4b71Sopenharmony_ci| 14000002 | Invalid uri. | 834e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 835e41f4b71Sopenharmony_ci 836e41f4b71Sopenharmony_ci**Example** 837e41f4b71Sopenharmony_ci 838e41f4b71Sopenharmony_ci```ts 839e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 840e41f4b71Sopenharmony_ci 841e41f4b71Sopenharmony_ciasync function example() { 842e41f4b71Sopenharmony_ci console.info('deleteDemo'); 843e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 844e41f4b71Sopenharmony_ci let fetchOptions: photoAccessHelper.FetchOptions = { 845e41f4b71Sopenharmony_ci fetchColumns: [], 846e41f4b71Sopenharmony_ci predicates: predicates 847e41f4b71Sopenharmony_ci }; 848e41f4b71Sopenharmony_ci try { 849e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOptions); 850e41f4b71Sopenharmony_ci let asset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject(); 851e41f4b71Sopenharmony_ci if (asset === undefined) { 852e41f4b71Sopenharmony_ci console.error('asset not exist'); 853e41f4b71Sopenharmony_ci return; 854e41f4b71Sopenharmony_ci } 855e41f4b71Sopenharmony_ci await phAccessHelper.deleteAssets([asset.uri]); 856e41f4b71Sopenharmony_ci console.info('deleteAssets successfully'); 857e41f4b71Sopenharmony_ci } catch (err) { 858e41f4b71Sopenharmony_ci console.error(`deleteAssets failed with error: ${err.code}, ${err.message}`); 859e41f4b71Sopenharmony_ci } 860e41f4b71Sopenharmony_ci} 861e41f4b71Sopenharmony_ci``` 862e41f4b71Sopenharmony_ci 863e41f4b71Sopenharmony_ci### getPhotoIndex 864e41f4b71Sopenharmony_ci 865e41f4b71Sopenharmony_cigetPhotoIndex(photoUri: string, albumUri: string, options: FetchOptions, callback: AsyncCallback<number>): void 866e41f4b71Sopenharmony_ci 867e41f4b71Sopenharmony_ciObtains the index of an image or video in an album. This API uses an asynchronous callback to return the result. 868e41f4b71Sopenharmony_ci 869e41f4b71Sopenharmony_ci**System API**: This is a system API. 870e41f4b71Sopenharmony_ci 871e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.READ_IMAGEVIDEO 872e41f4b71Sopenharmony_ci 873e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 874e41f4b71Sopenharmony_ci 875e41f4b71Sopenharmony_ci**Parameters** 876e41f4b71Sopenharmony_ci 877e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 878e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ---------- | 879e41f4b71Sopenharmony_ci| photoUri | string | Yes | URI of the media asset whose index is to be obtained.| 880e41f4b71Sopenharmony_ci| albumUri | string | Yes | Album URI, which can be an empty string. If it is an empty string, all the media assets in the Gallery are obtained by default. | 881e41f4b71Sopenharmony_ci| options | [FetchOptions](js-apis-photoAccessHelper.md#fetchoptions) | Yes | Fetch options. Only one search condition or sorting mode must be set in **predicates**. If no value is set or multiple search criteria or sorting modes are set, the API cannot be called successfully. | 882e41f4b71Sopenharmony_ci| callback | AsyncCallback<number>| Yes | Callback invoked to return the index obtained.| 883e41f4b71Sopenharmony_ci 884e41f4b71Sopenharmony_ci**Error codes** 885e41f4b71Sopenharmony_ci 886e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 887e41f4b71Sopenharmony_ci 888e41f4b71Sopenharmony_ci| ID| Error Message| 889e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 890e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 891e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 892e41f4b71Sopenharmony_ci| 13900012 | Permission denied. | 893e41f4b71Sopenharmony_ci| 13900020 | Invalid argument. | 894e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 895e41f4b71Sopenharmony_ci 896e41f4b71Sopenharmony_ci**Example** 897e41f4b71Sopenharmony_ci 898e41f4b71Sopenharmony_ci```ts 899e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 900e41f4b71Sopenharmony_ci 901e41f4b71Sopenharmony_ciasync function example() { 902e41f4b71Sopenharmony_ci try { 903e41f4b71Sopenharmony_ci console.info('getPhotoIndexDemo'); 904e41f4b71Sopenharmony_ci let predicatesForGetAsset: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 905e41f4b71Sopenharmony_ci let fetchOp: photoAccessHelper.FetchOptions = { 906e41f4b71Sopenharmony_ci fetchColumns: [], 907e41f4b71Sopenharmony_ci predicates: predicatesForGetAsset 908e41f4b71Sopenharmony_ci }; 909e41f4b71Sopenharmony_ci // Obtain the uri of the album 910e41f4b71Sopenharmony_ci let albumFetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.SYSTEM, photoAccessHelper.AlbumSubtype.FAVORITE, fetchOp); 911e41f4b71Sopenharmony_ci let album: photoAccessHelper.Album = await albumFetchResult.getFirstObject(); 912e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 913e41f4b71Sopenharmony_ci predicates.orderByAsc(photoAccessHelper.PhotoKeys.DATE_MODIFIED); 914e41f4b71Sopenharmony_ci let fetchOptions: photoAccessHelper.FetchOptions = { 915e41f4b71Sopenharmony_ci fetchColumns: [photoAccessHelper.PhotoKeys.DATE_MODIFIED], 916e41f4b71Sopenharmony_ci predicates: predicates 917e41f4b71Sopenharmony_ci }; 918e41f4b71Sopenharmony_ci let photoFetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await album.getAssets(fetchOptions); 919e41f4b71Sopenharmony_ci let expectIndex = 1; 920e41f4b71Sopenharmony_ci // Obtain the uri of the second file 921e41f4b71Sopenharmony_ci let photoAsset: photoAccessHelper.PhotoAsset = await photoFetchResult.getObjectByPosition(expectIndex); 922e41f4b71Sopenharmony_ci 923e41f4b71Sopenharmony_ci phAccessHelper.getPhotoIndex(photoAsset.uri, album.albumUri, fetchOptions, (err, index) => { 924e41f4b71Sopenharmony_ci if (err === undefined) { 925e41f4b71Sopenharmony_ci console.info(`getPhotoIndex successfully and index is : ${index}`); 926e41f4b71Sopenharmony_ci } else { 927e41f4b71Sopenharmony_ci console.error(`getPhotoIndex failed; error: ${err.code}, ${err.message}`); 928e41f4b71Sopenharmony_ci } 929e41f4b71Sopenharmony_ci }); 930e41f4b71Sopenharmony_ci } catch (error) { 931e41f4b71Sopenharmony_ci console.error(`getPhotoIndex failed; error: ${error.code}, ${error.message}`); 932e41f4b71Sopenharmony_ci } 933e41f4b71Sopenharmony_ci} 934e41f4b71Sopenharmony_ci``` 935e41f4b71Sopenharmony_ci 936e41f4b71Sopenharmony_ci### getPhotoIndex 937e41f4b71Sopenharmony_ci 938e41f4b71Sopenharmony_cigetPhotoIndex(photoUri: string, albumUri: string, options: FetchOptions): Promise<number> 939e41f4b71Sopenharmony_ci 940e41f4b71Sopenharmony_ciObtains the index of an image or video in an album. This API uses a promise to return the result. 941e41f4b71Sopenharmony_ci 942e41f4b71Sopenharmony_ci**System API**: This is a system API. 943e41f4b71Sopenharmony_ci 944e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.READ_IMAGEVIDEO 945e41f4b71Sopenharmony_ci 946e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 947e41f4b71Sopenharmony_ci 948e41f4b71Sopenharmony_ci**Parameters** 949e41f4b71Sopenharmony_ci 950e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 951e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ---------- | 952e41f4b71Sopenharmony_ci| photoUri | string | Yes | URI of the media asset whose index is to be obtained.| 953e41f4b71Sopenharmony_ci| albumUri | string | Yes | Album URI, which can be an empty string. If it is an empty string, all the media assets in the Gallery are obtained by default. | 954e41f4b71Sopenharmony_ci| options | [FetchOptions](js-apis-photoAccessHelper.md#fetchoptions) | Yes | Fetch options. Only one search condition or sorting mode must be set in **predicates**. If no value is set or multiple search criteria or sorting modes are set, the API cannot be called successfully. | 955e41f4b71Sopenharmony_ci 956e41f4b71Sopenharmony_ci**Return value** 957e41f4b71Sopenharmony_ci 958e41f4b71Sopenharmony_ci| Type | Description | 959e41f4b71Sopenharmony_ci| --------------------------------------- | ----------------- | 960e41f4b71Sopenharmony_ci| Promise<number>| Promise used to return the index obtained.| 961e41f4b71Sopenharmony_ci 962e41f4b71Sopenharmony_ci**Error codes** 963e41f4b71Sopenharmony_ci 964e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 965e41f4b71Sopenharmony_ci 966e41f4b71Sopenharmony_ci| ID| Error Message| 967e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 968e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 969e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 970e41f4b71Sopenharmony_ci| 13900012 | Permission denied. | 971e41f4b71Sopenharmony_ci| 13900020 | Invalid argument. | 972e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 973e41f4b71Sopenharmony_ci 974e41f4b71Sopenharmony_ci**Example** 975e41f4b71Sopenharmony_ci 976e41f4b71Sopenharmony_ci```ts 977e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 978e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 979e41f4b71Sopenharmony_ci 980e41f4b71Sopenharmony_ciasync function example() { 981e41f4b71Sopenharmony_ci try { 982e41f4b71Sopenharmony_ci console.info('getPhotoIndexDemo'); 983e41f4b71Sopenharmony_ci let predicatesForGetAsset: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 984e41f4b71Sopenharmony_ci let fetchOp: photoAccessHelper.FetchOptions = { 985e41f4b71Sopenharmony_ci fetchColumns: [], 986e41f4b71Sopenharmony_ci predicates: predicatesForGetAsset 987e41f4b71Sopenharmony_ci }; 988e41f4b71Sopenharmony_ci // Obtain the uri of the album 989e41f4b71Sopenharmony_ci let albumFetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.SYSTEM, photoAccessHelper.AlbumSubtype.FAVORITE, fetchOp); 990e41f4b71Sopenharmony_ci let album: photoAccessHelper.Album = await albumFetchResult.getFirstObject(); 991e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 992e41f4b71Sopenharmony_ci predicates.orderByAsc(photoAccessHelper.PhotoKeys.DATE_MODIFIED); 993e41f4b71Sopenharmony_ci let fetchOptions: photoAccessHelper.FetchOptions = { 994e41f4b71Sopenharmony_ci fetchColumns: [photoAccessHelper.PhotoKeys.DATE_MODIFIED], 995e41f4b71Sopenharmony_ci predicates: predicates 996e41f4b71Sopenharmony_ci }; 997e41f4b71Sopenharmony_ci let photoFetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await album.getAssets(fetchOptions); 998e41f4b71Sopenharmony_ci let expectIndex = 1; 999e41f4b71Sopenharmony_ci // Obtain the uri of the second file 1000e41f4b71Sopenharmony_ci let photoAsset: photoAccessHelper.PhotoAsset = await photoFetchResult.getObjectByPosition(expectIndex); 1001e41f4b71Sopenharmony_ci phAccessHelper.getPhotoIndex(photoAsset.uri, album.albumUri, fetchOptions).then((index) => { 1002e41f4b71Sopenharmony_ci console.info(`getPhotoIndex successfully and index is : ${index}`); 1003e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 1004e41f4b71Sopenharmony_ci console.error(`getPhotoIndex failed; error: ${err.code}, ${err.message}`); 1005e41f4b71Sopenharmony_ci }); 1006e41f4b71Sopenharmony_ci } catch (error) { 1007e41f4b71Sopenharmony_ci console.error(`getPhotoIndex failed; error: ${error.code}, ${error.message}`); 1008e41f4b71Sopenharmony_ci } 1009e41f4b71Sopenharmony_ci} 1010e41f4b71Sopenharmony_ci``` 1011e41f4b71Sopenharmony_ci 1012e41f4b71Sopenharmony_ci### saveFormInfo<sup>11+</sup> 1013e41f4b71Sopenharmony_ci 1014e41f4b71Sopenharmony_cisaveFormInfo(info:FormInfo, callback: AsyncCallback<void>):void 1015e41f4b71Sopenharmony_ci 1016e41f4b71Sopenharmony_ciSaves a Gallery widget. This API uses an asynchronous callback to return the result. 1017e41f4b71Sopenharmony_ci 1018e41f4b71Sopenharmony_ci**System API**: This is a system API. 1019e41f4b71Sopenharmony_ci 1020e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.WRITE_IMAGEVIDEO 1021e41f4b71Sopenharmony_ci 1022e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 1023e41f4b71Sopenharmony_ci 1024e41f4b71Sopenharmony_ci**Parameters** 1025e41f4b71Sopenharmony_ci 1026e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 1027e41f4b71Sopenharmony_ci| -------- | ------------------------ | ---- | ------------------------- | 1028e41f4b71Sopenharmony_ci| info | [FormInfo](#forminfo11) | Yes | Information about the Gallery widget to save, which includes the ID of the widget and the URI of the image bound to the widget. | 1029e41f4b71Sopenharmony_ci| callback | AsyncCallback<void> | Yes | Callback that returns no value.| 1030e41f4b71Sopenharmony_ci 1031e41f4b71Sopenharmony_ci**Error codes** 1032e41f4b71Sopenharmony_ci 1033e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 1034e41f4b71Sopenharmony_ci 1035e41f4b71Sopenharmony_ci| ID| Error Message| 1036e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 1037e41f4b71Sopenharmony_ci| 201 | Permission verification failed, usually the result returned by VerifyAccessToken. | 1038e41f4b71Sopenharmony_ci| 202 | Permission verification failed, application which is not a system application uses system API. | 1039e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 1040e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 1041e41f4b71Sopenharmony_ci 1042e41f4b71Sopenharmony_ci 1043e41f4b71Sopenharmony_ci**Example** 1044e41f4b71Sopenharmony_ci 1045e41f4b71Sopenharmony_ci```ts 1046e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 1047e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 1048e41f4b71Sopenharmony_ci 1049e41f4b71Sopenharmony_ciasync function example() { 1050e41f4b71Sopenharmony_ci console.info('saveFormInfoDemo'); 1051e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 1052e41f4b71Sopenharmony_ci let fetchOptions: photoAccessHelper.FetchOptions = { 1053e41f4b71Sopenharmony_ci fetchColumns: [], 1054e41f4b71Sopenharmony_ci predicates: predicates 1055e41f4b71Sopenharmony_ci }; 1056e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOptions); 1057e41f4b71Sopenharmony_ci let photoAsset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject(); 1058e41f4b71Sopenharmony_ci 1059e41f4b71Sopenharmony_ci let info: photoAccessHelper.FormInfo = { 1060e41f4b71Sopenharmony_ci // formId is a string consisting of only digits. uri indicates the URI of the image in Gallery. If there is no image in Gallery, uri must be an empty string. 1061e41f4b71Sopenharmony_ci formId : "20230116123", 1062e41f4b71Sopenharmony_ci uri: photoAsset.uri, 1063e41f4b71Sopenharmony_ci } 1064e41f4b71Sopenharmony_ci 1065e41f4b71Sopenharmony_ci phAccessHelper.saveFormInfo(info, async (err: BusinessError) => { 1066e41f4b71Sopenharmony_ci if (err == undefined) { 1067e41f4b71Sopenharmony_ci console.info('saveFormInfo success'); 1068e41f4b71Sopenharmony_ci } else { 1069e41f4b71Sopenharmony_ci console.error(`saveFormInfo fail with error: ${err.code}, ${err.message}`); 1070e41f4b71Sopenharmony_ci } 1071e41f4b71Sopenharmony_ci }); 1072e41f4b71Sopenharmony_ci} 1073e41f4b71Sopenharmony_ci``` 1074e41f4b71Sopenharmony_ci 1075e41f4b71Sopenharmony_ci### saveFormInfo<sup>11+</sup> 1076e41f4b71Sopenharmony_ci 1077e41f4b71Sopenharmony_cisaveFormInfo(info:FormInfo):Promise<void> 1078e41f4b71Sopenharmony_ci 1079e41f4b71Sopenharmony_ciSaves a Gallery widget. This API uses a promise to return the result. 1080e41f4b71Sopenharmony_ci 1081e41f4b71Sopenharmony_ci**System API**: This is a system API. 1082e41f4b71Sopenharmony_ci 1083e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.WRITE_IMAGEVIDEO 1084e41f4b71Sopenharmony_ci 1085e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 1086e41f4b71Sopenharmony_ci 1087e41f4b71Sopenharmony_ci**Parameters** 1088e41f4b71Sopenharmony_ci 1089e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 1090e41f4b71Sopenharmony_ci| -------- | ------------------------ | ---- | ------------------------- | 1091e41f4b71Sopenharmony_ci| info | [FormInfo](#forminfo11) | Yes | Information about the Gallery widget to save, which includes the ID of the widget and the URI of the image bound to the widget. | 1092e41f4b71Sopenharmony_ci 1093e41f4b71Sopenharmony_ci**Return value** 1094e41f4b71Sopenharmony_ci 1095e41f4b71Sopenharmony_ci| Type | Description | 1096e41f4b71Sopenharmony_ci| --------------------------------------- | ----------------- | 1097e41f4b71Sopenharmony_ci| Promise<void>| Promise that returns no value.| 1098e41f4b71Sopenharmony_ci 1099e41f4b71Sopenharmony_ci**Error codes** 1100e41f4b71Sopenharmony_ci 1101e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 1102e41f4b71Sopenharmony_ci 1103e41f4b71Sopenharmony_ci| ID| Error Message| 1104e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 1105e41f4b71Sopenharmony_ci| 201 | Permission verification failed, usually the result returned by VerifyAccessToken. | 1106e41f4b71Sopenharmony_ci| 202 | Permission verification failed, application which is not a system application uses system API. | 1107e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 1108e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 1109e41f4b71Sopenharmony_ci 1110e41f4b71Sopenharmony_ci**Example** 1111e41f4b71Sopenharmony_ci 1112e41f4b71Sopenharmony_ci```ts 1113e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 1114e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 1115e41f4b71Sopenharmony_ci 1116e41f4b71Sopenharmony_ciasync function example() { 1117e41f4b71Sopenharmony_ci console.info('saveFormInfoDemo'); 1118e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 1119e41f4b71Sopenharmony_ci let fetchOptions: photoAccessHelper.FetchOptions = { 1120e41f4b71Sopenharmony_ci fetchColumns: [], 1121e41f4b71Sopenharmony_ci predicates: predicates 1122e41f4b71Sopenharmony_ci }; 1123e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOptions); 1124e41f4b71Sopenharmony_ci let photoAsset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject(); 1125e41f4b71Sopenharmony_ci 1126e41f4b71Sopenharmony_ci let info: photoAccessHelper.FormInfo = { 1127e41f4b71Sopenharmony_ci // formId is a string consisting of only digits. uri indicates the URI of the image in Gallery. If there is no image in Gallery, uri must be an empty string. 1128e41f4b71Sopenharmony_ci formId: "20230116123", 1129e41f4b71Sopenharmony_ci uri: photoAsset.uri, 1130e41f4b71Sopenharmony_ci } 1131e41f4b71Sopenharmony_ci 1132e41f4b71Sopenharmony_ci phAccessHelper.saveFormInfo(info).then(() => { 1133e41f4b71Sopenharmony_ci console.info('saveFormInfo successfully'); 1134e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 1135e41f4b71Sopenharmony_ci console.error(`saveFormInfo failed with error: ${err.code}, ${err.message}`); 1136e41f4b71Sopenharmony_ci }); 1137e41f4b71Sopenharmony_ci} 1138e41f4b71Sopenharmony_ci``` 1139e41f4b71Sopenharmony_ci 1140e41f4b71Sopenharmony_ci### removeFormInfo<sup>11+</sup> 1141e41f4b71Sopenharmony_ci 1142e41f4b71Sopenharmony_ciremoveFormInfo(info:FormInfo, callback: AsyncCallback<void>):void 1143e41f4b71Sopenharmony_ci 1144e41f4b71Sopenharmony_ciRemoves a Gallery widget. This API uses an asynchronous callback to return the result. 1145e41f4b71Sopenharmony_ci 1146e41f4b71Sopenharmony_ci**System API**: This is a system API. 1147e41f4b71Sopenharmony_ci 1148e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.WRITE_IMAGEVIDEO 1149e41f4b71Sopenharmony_ci 1150e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 1151e41f4b71Sopenharmony_ci 1152e41f4b71Sopenharmony_ci**Parameters** 1153e41f4b71Sopenharmony_ci 1154e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 1155e41f4b71Sopenharmony_ci| -------- | ------------------------ | ---- | ------------------------- | 1156e41f4b71Sopenharmony_ci| info | [FormInfo](#forminfo11) | Yes | Information about the Gallery widget to save, which includes the ID of the widget and the URI of the image bound to the widget. | 1157e41f4b71Sopenharmony_ci| callback | AsyncCallback<void> | Yes | Callback that returns no value.| 1158e41f4b71Sopenharmony_ci 1159e41f4b71Sopenharmony_ci**Error codes** 1160e41f4b71Sopenharmony_ci 1161e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 1162e41f4b71Sopenharmony_ci 1163e41f4b71Sopenharmony_ci| ID| Error Message| 1164e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 1165e41f4b71Sopenharmony_ci| 201 | Permission verification failed, usually the result returned by VerifyAccessToken. | 1166e41f4b71Sopenharmony_ci| 202 | Permission verification failed, application which is not a system application uses system API. | 1167e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 1168e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 1169e41f4b71Sopenharmony_ci 1170e41f4b71Sopenharmony_ci**Example** 1171e41f4b71Sopenharmony_ci 1172e41f4b71Sopenharmony_ci```ts 1173e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 1174e41f4b71Sopenharmony_ci 1175e41f4b71Sopenharmony_ciasync function example() { 1176e41f4b71Sopenharmony_ci console.info('removeFormInfoDemo'); 1177e41f4b71Sopenharmony_ci let info: photoAccessHelper.FormInfo = { 1178e41f4b71Sopenharmony_ci // formId is a string consisting of only digits. When removing a widget, leave uri empty. 1179e41f4b71Sopenharmony_ci formId: "20230116123", 1180e41f4b71Sopenharmony_ci uri: "", 1181e41f4b71Sopenharmony_ci } 1182e41f4b71Sopenharmony_ci 1183e41f4b71Sopenharmony_ci phAccessHelper.removeFormInfo(info, async (err: BusinessError) => { 1184e41f4b71Sopenharmony_ci if (err == undefined) { 1185e41f4b71Sopenharmony_ci console.info('removeFormInfo success'); 1186e41f4b71Sopenharmony_ci } else { 1187e41f4b71Sopenharmony_ci console.error(`removeFormInfo fail with error: ${err.code}, ${err.message}`); 1188e41f4b71Sopenharmony_ci } 1189e41f4b71Sopenharmony_ci }); 1190e41f4b71Sopenharmony_ci} 1191e41f4b71Sopenharmony_ci``` 1192e41f4b71Sopenharmony_ci 1193e41f4b71Sopenharmony_ci### removeFormInfo<sup>11+</sup> 1194e41f4b71Sopenharmony_ci 1195e41f4b71Sopenharmony_ciremoveFormInfo(info:FormInfo):Promise<void> 1196e41f4b71Sopenharmony_ci 1197e41f4b71Sopenharmony_ciRemoves a Gallery widget. This API uses a promise to return the result. 1198e41f4b71Sopenharmony_ci 1199e41f4b71Sopenharmony_ci**System API**: This is a system API. 1200e41f4b71Sopenharmony_ci 1201e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.WRITE_IMAGEVIDEO 1202e41f4b71Sopenharmony_ci 1203e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 1204e41f4b71Sopenharmony_ci 1205e41f4b71Sopenharmony_ci**Parameters** 1206e41f4b71Sopenharmony_ci 1207e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 1208e41f4b71Sopenharmony_ci| -------- | ------------------------ | ---- | ------------------------- | 1209e41f4b71Sopenharmony_ci| info | [FormInfo](#forminfo11) | Yes | Information about the Gallery widget to save, which includes the ID of the widget and the URI of the image bound to the widget. | 1210e41f4b71Sopenharmony_ci 1211e41f4b71Sopenharmony_ci**Return value** 1212e41f4b71Sopenharmony_ci 1213e41f4b71Sopenharmony_ci| Type | Description | 1214e41f4b71Sopenharmony_ci| --------------------------------------- | ----------------- | 1215e41f4b71Sopenharmony_ci| Promise<void>| Promise that returns no value.| 1216e41f4b71Sopenharmony_ci 1217e41f4b71Sopenharmony_ci**Error codes** 1218e41f4b71Sopenharmony_ci 1219e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 1220e41f4b71Sopenharmony_ci 1221e41f4b71Sopenharmony_ci| ID| Error Message| 1222e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 1223e41f4b71Sopenharmony_ci| 201 | Permission verification failed, usually the result returned by VerifyAccessToken. | 1224e41f4b71Sopenharmony_ci| 202 | Permission verification failed, application which is not a system application uses system API. | 1225e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 1226e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 1227e41f4b71Sopenharmony_ci 1228e41f4b71Sopenharmony_ci**Example** 1229e41f4b71Sopenharmony_ci 1230e41f4b71Sopenharmony_ci```ts 1231e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 1232e41f4b71Sopenharmony_ci 1233e41f4b71Sopenharmony_ciasync function example() { 1234e41f4b71Sopenharmony_ci console.info('removeFormInfoDemo'); 1235e41f4b71Sopenharmony_ci let info: photoAccessHelper.FormInfo = { 1236e41f4b71Sopenharmony_ci // formId is a string consisting of only digits. When removing a widget, leave uri empty. 1237e41f4b71Sopenharmony_ci formId: "20230116123", 1238e41f4b71Sopenharmony_ci uri: "", 1239e41f4b71Sopenharmony_ci } 1240e41f4b71Sopenharmony_ci 1241e41f4b71Sopenharmony_ci phAccessHelper.removeFormInfo(info).then(() => { 1242e41f4b71Sopenharmony_ci console.info('removeFormInfo successfully'); 1243e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 1244e41f4b71Sopenharmony_ci console.error(`removeFormInfo failed with error: ${err.code}, ${err.message}`); 1245e41f4b71Sopenharmony_ci }); 1246e41f4b71Sopenharmony_ci} 1247e41f4b71Sopenharmony_ci``` 1248e41f4b71Sopenharmony_ci 1249e41f4b71Sopenharmony_ci### createAssetsForApp<sup>12+</sup> 1250e41f4b71Sopenharmony_ci 1251e41f4b71Sopenharmony_cicreateAssetsForApp(bundleName: string, appName: string, appId: string, photoCreationConfigs: Array<PhotoCreationConfig>): Promise<Array<string>> 1252e41f4b71Sopenharmony_ci 1253e41f4b71Sopenharmony_ciCreates media assets for an application. The returned URIs has been granted with the permission for writing the media assets (images or vides). 1254e41f4b71Sopenharmony_ci 1255e41f4b71Sopenharmony_ci**System API**: This is a system API. 1256e41f4b71Sopenharmony_ci 1257e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.WRITE_IMAGEVIDEO 1258e41f4b71Sopenharmony_ci 1259e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 1260e41f4b71Sopenharmony_ci 1261e41f4b71Sopenharmony_ci**Parameters** 1262e41f4b71Sopenharmony_ci 1263e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 1264e41f4b71Sopenharmony_ci| -------- |----------------------------------------------------------------------| ---- | ------------------------- | 1265e41f4b71Sopenharmony_ci| bundleName | string | Yes| Bundle name of the target application.| 1266e41f4b71Sopenharmony_ci| appName | string | Yes| Name of the target application.| 1267e41f4b71Sopenharmony_ci| appId | string | Yes| ID of the target application.| 1268e41f4b71Sopenharmony_ci| photoCreationConfigs | Array<[PhotoCreationConfig](./js-apis-photoAccessHelper.md#photocreationconfig12)> | Yes| Configuration for creating (saving) the media assets in the media library.| 1269e41f4b71Sopenharmony_ci 1270e41f4b71Sopenharmony_ci**Return value** 1271e41f4b71Sopenharmony_ci 1272e41f4b71Sopenharmony_ci| Type | Description | 1273e41f4b71Sopenharmony_ci| --------------------------------------- | ----------------- | 1274e41f4b71Sopenharmony_ci| Promise<Array<string>> | Promise used to return the URIs of the media asset files in the media library. The target application (identified by **appid**) can write the media assets based on the URIs without requesting the write permission.| 1275e41f4b71Sopenharmony_ci 1276e41f4b71Sopenharmony_ci**Error codes** 1277e41f4b71Sopenharmony_ci 1278e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 1279e41f4b71Sopenharmony_ci 1280e41f4b71Sopenharmony_ci| ID| Error Message| 1281e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 1282e41f4b71Sopenharmony_ci| 201 | Permission denied. | 1283e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 1284e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameters types; 3. Parameter verification failed. | 1285e41f4b71Sopenharmony_ci| 14000011 | Internal system error. | 1286e41f4b71Sopenharmony_ci 1287e41f4b71Sopenharmony_ci**Example** 1288e41f4b71Sopenharmony_ci 1289e41f4b71Sopenharmony_ci```ts 1290e41f4b71Sopenharmony_ciasync function example() { 1291e41f4b71Sopenharmony_ci console.info('createAssetsForAppDemo.'); 1292e41f4b71Sopenharmony_ci 1293e41f4b71Sopenharmony_ci try { 1294e41f4b71Sopenharmony_ci let bundleName: string = 'testBundleName'; 1295e41f4b71Sopenharmony_ci let appName: string = 'testAppName'; 1296e41f4b71Sopenharmony_ci let appId: string = 'testAppId'; 1297e41f4b71Sopenharmony_ci let photoCreationConfigs: Array<photoAccessHelper.PhotoCreationConfig> = [ 1298e41f4b71Sopenharmony_ci { 1299e41f4b71Sopenharmony_ci title: 'test', 1300e41f4b71Sopenharmony_ci fileNameExtension: 'jpg', 1301e41f4b71Sopenharmony_ci photoType: photoAccessHelper.PhotoType.IMAGE, 1302e41f4b71Sopenharmony_ci subtype: photoAccessHelper.PhotoSubtype.DEFAULT, 1303e41f4b71Sopenharmony_ci } 1304e41f4b71Sopenharmony_ci ]; 1305e41f4b71Sopenharmony_ci let desFileUris: Array<string> = await phAccessHelper.createAssetsForApp(bundleName, appName, appId, photoCreationConfigs); 1306e41f4b71Sopenharmony_ci console.info('createAssetsForApp success, data is ' + desFileUris); 1307e41f4b71Sopenharmony_ci } catch (err) { 1308e41f4b71Sopenharmony_ci console.error(`createAssetsForApp failed with error: ${err.code}, ${err.message}`); 1309e41f4b71Sopenharmony_ci } 1310e41f4b71Sopenharmony_ci} 1311e41f4b71Sopenharmony_ci``` 1312e41f4b71Sopenharmony_ci 1313e41f4b71Sopenharmony_ci### grantPhotoUriPermission<sup>12+</sup> 1314e41f4b71Sopenharmony_ci 1315e41f4b71Sopenharmony_cigrantPhotoUriPermission(appid: string, uri: string, photoPermissionType: PhotoPermissionType, hideSensitiveType: HideSensitiveType): Promise<number> 1316e41f4b71Sopenharmony_ci 1317e41f4b71Sopenharmony_ciGrants an application the permission to access a URI. This API uses a promise to return the result. 1318e41f4b71Sopenharmony_ci 1319e41f4b71Sopenharmony_ci**System API**: This is a system API. 1320e41f4b71Sopenharmony_ci 1321e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 1322e41f4b71Sopenharmony_ci 1323e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.WRITE_IMAGEVIDEO 1324e41f4b71Sopenharmony_ci 1325e41f4b71Sopenharmony_ci**Parameters** 1326e41f4b71Sopenharmony_ci 1327e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 1328e41f4b71Sopenharmony_ci| -------- |----------------------------------------------------------------------| ---- | ------------------------- | 1329e41f4b71Sopenharmony_ci| appid | string | Yes| ID of the target application.| 1330e41f4b71Sopenharmony_ci| uri | string | Yes| URI of the media asset.| 1331e41f4b71Sopenharmony_ci| photoPermissionType | [PhotoPermissionType](#photopermissiontype12) | Yes| Type of the permission to be granted. For details, see the enum.| 1332e41f4b71Sopenharmony_ci| hideSensitiveType | [HideSensitiveType](#hidesensitivetype12) | Yes| Type of the information to hide. This parameter is reserved. Currently, any enumerated value of **HideSensitiveType** can be passed in.| 1333e41f4b71Sopenharmony_ci 1334e41f4b71Sopenharmony_ci**Return value** 1335e41f4b71Sopenharmony_ci 1336e41f4b71Sopenharmony_ci| Type | Description | 1337e41f4b71Sopenharmony_ci| --------------------------------------- | ----------------- | 1338e41f4b71Sopenharmony_ci| Promise<number> | Promise used to return the result. The value **0** indicates means the permission is granted to the application. The value **1** means the application already has the permission. The value **-1** means the permission fails to be granted.| 1339e41f4b71Sopenharmony_ci 1340e41f4b71Sopenharmony_ci**Error codes** 1341e41f4b71Sopenharmony_ci 1342e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 1343e41f4b71Sopenharmony_ci 1344e41f4b71Sopenharmony_ci| ID| Error Message| 1345e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 1346e41f4b71Sopenharmony_ci| 201 | Permission denied. | 1347e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 1348e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameters types; 3. Parameter verification failed. | 1349e41f4b71Sopenharmony_ci| 14000011 | Internal system error. | 1350e41f4b71Sopenharmony_ci 1351e41f4b71Sopenharmony_ci**Example** 1352e41f4b71Sopenharmony_ci 1353e41f4b71Sopenharmony_ci```ts 1354e41f4b71Sopenharmony_ciasync function example() { 1355e41f4b71Sopenharmony_ci console.info('grantPhotoUriPermissionDemo'); 1356e41f4b71Sopenharmony_ci 1357e41f4b71Sopenharmony_ci try { 1358e41f4b71Sopenharmony_ci let result = await phAccessHelper.grantPhotoUriPermission('com.example.myapplication01', 1359e41f4b71Sopenharmony_ci 'file://media/Photo/1/IMG_datetime_0001/displayName.jpg', 1360e41f4b71Sopenharmony_ci photoAccessHelper.PhotoPermissionType.TEMPORARY_READ_IMAGEVIDEO, 1361e41f4b71Sopenharmony_ci photoAccessHelper.HideSensitiveType.HIDE_LOCATION_AND_SHOTING_PARM); 1362e41f4b71Sopenharmony_ci 1363e41f4b71Sopenharmony_ci console.info('grantPhotoUriPermission success, result=' + result); 1364e41f4b71Sopenharmony_ci } catch (err) { 1365e41f4b71Sopenharmony_ci console.error('grantPhotoUriPermission failed, error=' + err); 1366e41f4b71Sopenharmony_ci } 1367e41f4b71Sopenharmony_ci} 1368e41f4b71Sopenharmony_ci``` 1369e41f4b71Sopenharmony_ci 1370e41f4b71Sopenharmony_ci### grantPhotoUrisPermission<sup>12+</sup> 1371e41f4b71Sopenharmony_ci 1372e41f4b71Sopenharmony_cigrantPhotoUrisPermission(appid: string, uriList: Array<string>, photoPermissionType: PhotoPermissionType, hideSensitiveType: HideSensitiveType): Promise<number> 1373e41f4b71Sopenharmony_ci 1374e41f4b71Sopenharmony_ciGrants an application the permission to access multiple URIs. This API uses a promise to return the result. 1375e41f4b71Sopenharmony_ci 1376e41f4b71Sopenharmony_ci**System API**: This is a system API. 1377e41f4b71Sopenharmony_ci 1378e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 1379e41f4b71Sopenharmony_ci 1380e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.WRITE_IMAGEVIDEO 1381e41f4b71Sopenharmony_ci 1382e41f4b71Sopenharmony_ci**Parameters** 1383e41f4b71Sopenharmony_ci 1384e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 1385e41f4b71Sopenharmony_ci| -------- |----------------------------------------------------------------------| ---- | ------------------------- | 1386e41f4b71Sopenharmony_ci| appid | string | Yes| ID of the target application.| 1387e41f4b71Sopenharmony_ci| uriList | Array<string> | Yes| A list of URIs, which cannot exceed 1000.| 1388e41f4b71Sopenharmony_ci| photoPermissionType | [PhotoPermissionType](#photopermissiontype12) | Yes| Type of the permission to be granted. For details, see **PhotoPermissionType**.| 1389e41f4b71Sopenharmony_ci| hideSensitiveType | [HideSensitiveType](#hidesensitivetype12) | Yes| Type of the information to hide. This parameter is reserved. Currently, any enumerated value of **HideSensitiveType** can be passed in.| 1390e41f4b71Sopenharmony_ci 1391e41f4b71Sopenharmony_ci**Return value** 1392e41f4b71Sopenharmony_ci 1393e41f4b71Sopenharmony_ci| Type | Description | 1394e41f4b71Sopenharmony_ci| --------------------------------------- | ----------------- | 1395e41f4b71Sopenharmony_ci| Promise<number> | Promise used to return the result. The value **0** indicates means the operation is successful; and the value **-1** means the opposite.| 1396e41f4b71Sopenharmony_ci 1397e41f4b71Sopenharmony_ci**Error codes** 1398e41f4b71Sopenharmony_ci 1399e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 1400e41f4b71Sopenharmony_ci 1401e41f4b71Sopenharmony_ci| ID| Error Message| 1402e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 1403e41f4b71Sopenharmony_ci| 201 | Permission denied. | 1404e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 1405e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameters types; 3. Parameter verification failed. | 1406e41f4b71Sopenharmony_ci| 14000011 | Internal system error. | 1407e41f4b71Sopenharmony_ci 1408e41f4b71Sopenharmony_ci**Example** 1409e41f4b71Sopenharmony_ci 1410e41f4b71Sopenharmony_ci```ts 1411e41f4b71Sopenharmony_ciasync function example() { 1412e41f4b71Sopenharmony_ci console.info('grantPhotoUrisPermissionDemo'); 1413e41f4b71Sopenharmony_ci 1414e41f4b71Sopenharmony_ci try { 1415e41f4b71Sopenharmony_ci // URIs of the media assets. 1416e41f4b71Sopenharmony_ci let uris: Array<string> = [ 1417e41f4b71Sopenharmony_ci 'file://media/Photo/11/IMG_datetime_0001/displayName1.jpg', 1418e41f4b71Sopenharmony_ci 'file://media/Photo/22/IMG_datetime_0002/displayName2.jpg']; 1419e41f4b71Sopenharmony_ci let result = await phAccessHelper.grantPhotoUrisPermission('com.example.myapplication01', uris, 1420e41f4b71Sopenharmony_ci photoAccessHelper.PhotoPermissionType.TEMPORARY_READ_IMAGEVIDEO, 1421e41f4b71Sopenharmony_ci photoAccessHelper.HideSensitiveType.HIDE_LOCATION_AND_SHOTING_PARM); 1422e41f4b71Sopenharmony_ci 1423e41f4b71Sopenharmony_ci console.info('grantPhotoUrisPermission success, result=' + result); 1424e41f4b71Sopenharmony_ci } catch (err) { 1425e41f4b71Sopenharmony_ci console.error('grantPhotoUrisPermission failed, error=' + err); 1426e41f4b71Sopenharmony_ci } 1427e41f4b71Sopenharmony_ci} 1428e41f4b71Sopenharmony_ci``` 1429e41f4b71Sopenharmony_ci 1430e41f4b71Sopenharmony_ci### cancelPhotoUriPermission<sup>12+</sup> 1431e41f4b71Sopenharmony_ci 1432e41f4b71Sopenharmony_cicancelPhotoUriPermission(appid: string, uri: string, photoPermissionType: PhotoPermissionType): Promise<number> 1433e41f4b71Sopenharmony_ci 1434e41f4b71Sopenharmony_ciCancels the permission for accessing an URI from an appliction. This API uses a promise to return the result. 1435e41f4b71Sopenharmony_ci 1436e41f4b71Sopenharmony_ci**System API**: This is a system API. 1437e41f4b71Sopenharmony_ci 1438e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 1439e41f4b71Sopenharmony_ci 1440e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.WRITE_IMAGEVIDEO 1441e41f4b71Sopenharmony_ci 1442e41f4b71Sopenharmony_ci**Parameters** 1443e41f4b71Sopenharmony_ci 1444e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 1445e41f4b71Sopenharmony_ci| -------- |----------------------------------------------------------------------| ---- | ------------------------- | 1446e41f4b71Sopenharmony_ci| appid | string | Yes| ID of the target application.| 1447e41f4b71Sopenharmony_ci| uri | sring | Yes| URI of the media asset.| 1448e41f4b71Sopenharmony_ci| photoPermissionType | [PhotoPermissionType](#photopermissiontype12) | Yes| Permission type.| 1449e41f4b71Sopenharmony_ci 1450e41f4b71Sopenharmony_ci**Return value** 1451e41f4b71Sopenharmony_ci 1452e41f4b71Sopenharmony_ci| Type | Description | 1453e41f4b71Sopenharmony_ci| --------------------------------------- | ----------------- | 1454e41f4b71Sopenharmony_ci| Promise<number> | Promise used to return the result. The value **0** means the operation is successful; the value **-1** means the opposite.| 1455e41f4b71Sopenharmony_ci 1456e41f4b71Sopenharmony_ci**Error codes** 1457e41f4b71Sopenharmony_ci 1458e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 1459e41f4b71Sopenharmony_ci 1460e41f4b71Sopenharmony_ci| ID| Error Message| 1461e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 1462e41f4b71Sopenharmony_ci| 201 | Permission denied. | 1463e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 1464e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameters types; 3. Parameter verification failed. | 1465e41f4b71Sopenharmony_ci| 14000011 | Internal system error. | 1466e41f4b71Sopenharmony_ci 1467e41f4b71Sopenharmony_ci**Example** 1468e41f4b71Sopenharmony_ci 1469e41f4b71Sopenharmony_ci```ts 1470e41f4b71Sopenharmony_ciasync function example() { 1471e41f4b71Sopenharmony_ci console.info('cancelPhotoUriPermissionDemo'); 1472e41f4b71Sopenharmony_ci 1473e41f4b71Sopenharmony_ci try { 1474e41f4b71Sopenharmony_ci let result = await phAccessHelper.cancelPhotoUriPermission('com.example.myapplication01', 1475e41f4b71Sopenharmony_ci 'file://media/Photo/11/IMG_datetime_0001/displayName.jpg', 1476e41f4b71Sopenharmony_ci photoAccessHelper.PhotoPermissionType.TEMPORARY_READ_IMAGEVIDEO); 1477e41f4b71Sopenharmony_ci 1478e41f4b71Sopenharmony_ci console.info('cancelPhotoUriPermission success, result=' + result); 1479e41f4b71Sopenharmony_ci } catch (err) { 1480e41f4b71Sopenharmony_ci console.error('cancelPhotoUriPermission failed, error=' + err); 1481e41f4b71Sopenharmony_ci } 1482e41f4b71Sopenharmony_ci} 1483e41f4b71Sopenharmony_ci``` 1484e41f4b71Sopenharmony_ci 1485e41f4b71Sopenharmony_ci### createAssetsForAppWithMode<sup>12+</sup> 1486e41f4b71Sopenharmony_ci 1487e41f4b71Sopenharmony_cicreateAssetsForAppWithMode(boundleName: string, appName: string, appId: string, tokenId: number, authorizationMode: AuthorizationMode, photoCreationConfigs:Array\<PhotoCreationConfig>): Promise\<Array\<string>> 1488e41f4b71Sopenharmony_ci 1489e41f4b71Sopenharmony_ciCreates assets with a temporary permission. This API uses a promise to return the result. 1490e41f4b71Sopenharmony_ci 1491e41f4b71Sopenharmony_ci**System API**: This is a system API. 1492e41f4b71Sopenharmony_ci 1493e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 1494e41f4b71Sopenharmony_ci 1495e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.WRITE_IMAGEVIDEO 1496e41f4b71Sopenharmony_ci 1497e41f4b71Sopenharmony_ci**Parameters** 1498e41f4b71Sopenharmony_ci 1499e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 1500e41f4b71Sopenharmony_ci| -------- |----------------------------------------------------------------------| ---- | ------------------------- | 1501e41f4b71Sopenharmony_ci| boundleName| string | Yes| Bundle name of the target application.| 1502e41f4b71Sopenharmony_ci| appName| string | Yes| Name of the target application.| 1503e41f4b71Sopenharmony_ci| appId| string | Yes| ID of the target application.| 1504e41f4b71Sopenharmony_ci| tokenId| number| Yes| Unique identifier for the temporary authorization.| 1505e41f4b71Sopenharmony_ci| authorizationMode| [AuthorizationMode](#authorizationmode12)| Yes| Authorization mode. No confirmation dialog box is displayed when the application with the temporary permission saves media assets in the give period of time.| 1506e41f4b71Sopenharmony_ci| PhotoCreationConfig| Array\<[PhotoCreationConfig](js-apis-photoAccessHelper.md#photocreationconfig12)> | Yes| Configuration for creating (saving) the media assets in the media library.| 1507e41f4b71Sopenharmony_ci 1508e41f4b71Sopenharmony_ci**Return value** 1509e41f4b71Sopenharmony_ci 1510e41f4b71Sopenharmony_ci| Type | Description | 1511e41f4b71Sopenharmony_ci| --------------------------------------- | ----------------- | 1512e41f4b71Sopenharmony_ci| Promise\<Array\<string>> | Promise used to return the URIs of the media asset files in the media library. The target application (identified by **appid**) can write the assets based on the URIs without has been authorized to the application specified by appId to allow the application to write data.| 1513e41f4b71Sopenharmony_ci 1514e41f4b71Sopenharmony_ci**Error codes** 1515e41f4b71Sopenharmony_ci 1516e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 1517e41f4b71Sopenharmony_ci 1518e41f4b71Sopenharmony_ci| ID| Error Message| 1519e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 1520e41f4b71Sopenharmony_ci| 201 | Permission denied. | 1521e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 1522e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameters types; 3. Parameter verification failed. | 1523e41f4b71Sopenharmony_ci| 14000011 | Internal system error. | 1524e41f4b71Sopenharmony_ci 1525e41f4b71Sopenharmony_ci**Example** 1526e41f4b71Sopenharmony_ci 1527e41f4b71Sopenharmony_ci```ts 1528e41f4b71Sopenharmony_ciasync function example() { 1529e41f4b71Sopenharmony_ci console.info('createAssetsForAppWithModeDemo.'); 1530e41f4b71Sopenharmony_ci 1531e41f4b71Sopenharmony_ci try { 1532e41f4b71Sopenharmony_ci let photoCreationConfigs: Array<photoAccessHelper.PhotoCreationConfig> = [ 1533e41f4b71Sopenharmony_ci { 1534e41f4b71Sopenharmony_ci title: '123456', 1535e41f4b71Sopenharmony_ci fileNameExtension: 'jpg', 1536e41f4b71Sopenharmony_ci photoType: photoAccessHelper.PhotoType.IMAGE, 1537e41f4b71Sopenharmony_ci subtype: photoAccessHelper.PhotoSubtype.DEFAULT, 1538e41f4b71Sopenharmony_ci } 1539e41f4b71Sopenharmony_ci ]; 1540e41f4b71Sopenharmony_ci let bundleName: string = 'testBundleName'; 1541e41f4b71Sopenharmony_ci let appName: string = 'testAppName'; 1542e41f4b71Sopenharmony_ci let appId: string = 'testAppId'; 1543e41f4b71Sopenharmony_ci let tokenId: number = 537197950; 1544e41f4b71Sopenharmony_ci let authorizationMode: photoAccessHelper.AuthorizationMode = photoAccessHelper.AuthorizationMode.SHORT_TIME_AUTHORIZATION; 1545e41f4b71Sopenharmony_ci let result: Array<string> = await phAccessHelper.createAssetsForAppWithMode(bundleName, appName, appId, tokenId, authorizationMode, photoCreationConfigs); 1546e41f4b71Sopenharmony_ci console.info(`result: ${JSON.stringify(result)}`); 1547e41f4b71Sopenharmony_ci console.info('Photo createAssetsForAppWithMode success.'); 1548e41f4b71Sopenharmony_ci } catch (err) { 1549e41f4b71Sopenharmony_ci console.error(`createAssetsForAppWithMode failed with error: ${err.code}, ${err.message}`); 1550e41f4b71Sopenharmony_ci } 1551e41f4b71Sopenharmony_ci} 1552e41f4b71Sopenharmony_ci``` 1553e41f4b71Sopenharmony_ci 1554e41f4b71Sopenharmony_ci## PhotoAsset 1555e41f4b71Sopenharmony_ci 1556e41f4b71Sopenharmony_ciProvides APIs for encapsulating file asset attributes. 1557e41f4b71Sopenharmony_ci 1558e41f4b71Sopenharmony_ci### open<sup>(deprecated)</sup> 1559e41f4b71Sopenharmony_ci 1560e41f4b71Sopenharmony_ciopen(mode: string, callback: AsyncCallback<number>): void 1561e41f4b71Sopenharmony_ci 1562e41f4b71Sopenharmony_ciOpens this file asset. This API uses an asynchronous callback to return the result. 1563e41f4b71Sopenharmony_ci 1564e41f4b71Sopenharmony_ci> **NOTE** 1565e41f4b71Sopenharmony_ci> 1566e41f4b71Sopenharmony_ci> This API is supported since API version 10 and deprecated since API version 11. For security purposes, the API for obtaining the media file handle is no longer provided. 1567e41f4b71Sopenharmony_ci 1568e41f4b71Sopenharmony_ci> **NOTE**<br>A file can be opened in only one mode at a time. Use **close()** to close the FD returned when it is not required. 1569e41f4b71Sopenharmony_ci 1570e41f4b71Sopenharmony_ci**System API**: This is a system API. 1571e41f4b71Sopenharmony_ci 1572e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.READ_IMAGEVIDEO or ohos.permission.WRITE_IMAGEVIDEO 1573e41f4b71Sopenharmony_ci 1574e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 1575e41f4b71Sopenharmony_ci 1576e41f4b71Sopenharmony_ci**Parameters** 1577e41f4b71Sopenharmony_ci 1578e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 1579e41f4b71Sopenharmony_ci| -------- | --------------------------- | ---- | ----------------------------------- | 1580e41f4b71Sopenharmony_ci| mode | string | Yes | Mode for opening the file, which can be **'r'** (read-only), **'w'** (write-only), or **'rw'** (read/write).| 1581e41f4b71Sopenharmony_ci| callback | AsyncCallback<number> | Yes | Callback invoked to return the file descriptor (FD) of the file opened. | 1582e41f4b71Sopenharmony_ci 1583e41f4b71Sopenharmony_ci**Error codes** 1584e41f4b71Sopenharmony_ci 1585e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 1586e41f4b71Sopenharmony_ci 1587e41f4b71Sopenharmony_ci| ID| Error Message| 1588e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 1589e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 1590e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 1591e41f4b71Sopenharmony_ci| 13900012 | Permission denied. | 1592e41f4b71Sopenharmony_ci| 13900020 | Invalid argument. | 1593e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 1594e41f4b71Sopenharmony_ci 1595e41f4b71Sopenharmony_ci**Example** 1596e41f4b71Sopenharmony_ci 1597e41f4b71Sopenharmony_ci```ts 1598e41f4b71Sopenharmony_ciasync function example() { 1599e41f4b71Sopenharmony_ci console.info('Open demo'); 1600e41f4b71Sopenharmony_ci let testFileName: string = 'testFile' + Date.now() + '.jpg'; 1601e41f4b71Sopenharmony_ci let photoAsset: photoAccessHelper.PhotoAsset = await phAccessHelper.createAsset(testFileName); 1602e41f4b71Sopenharmony_ci photoAsset.open('rw', (err, fd) => { 1603e41f4b71Sopenharmony_ci if (fd !== undefined) { 1604e41f4b71Sopenharmony_ci console.info('File fd' + fd); 1605e41f4b71Sopenharmony_ci photoAsset.close(fd); 1606e41f4b71Sopenharmony_ci } else { 1607e41f4b71Sopenharmony_ci console.error(`Open file err: ${err.code}, ${err.message}`); 1608e41f4b71Sopenharmony_ci } 1609e41f4b71Sopenharmony_ci }); 1610e41f4b71Sopenharmony_ci} 1611e41f4b71Sopenharmony_ci``` 1612e41f4b71Sopenharmony_ci 1613e41f4b71Sopenharmony_ci### open<sup>(deprecated)</sup> 1614e41f4b71Sopenharmony_ci 1615e41f4b71Sopenharmony_ciopen(mode: string): Promise<number> 1616e41f4b71Sopenharmony_ci 1617e41f4b71Sopenharmony_ciOpens this file asset. This API uses a promise to return the result. 1618e41f4b71Sopenharmony_ci 1619e41f4b71Sopenharmony_ci> **NOTE** 1620e41f4b71Sopenharmony_ci> 1621e41f4b71Sopenharmony_ci> This API is supported since API version 10 and deprecated since API version 11. For security purposes, the API for obtaining the media file handle is no longer provided. 1622e41f4b71Sopenharmony_ci 1623e41f4b71Sopenharmony_ci> **NOTE**<br>A file can be opened in only one mode at a time. Use **close()** to close the FD returned when it is not required. 1624e41f4b71Sopenharmony_ci 1625e41f4b71Sopenharmony_ci**System API**: This is a system API. 1626e41f4b71Sopenharmony_ci 1627e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.READ_IMAGEVIDEO or ohos.permission.WRITE_IMAGEVIDEO 1628e41f4b71Sopenharmony_ci 1629e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 1630e41f4b71Sopenharmony_ci 1631e41f4b71Sopenharmony_ci**Parameters** 1632e41f4b71Sopenharmony_ci 1633e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 1634e41f4b71Sopenharmony_ci| ---- | ------ | ---- | ----------------------------------- | 1635e41f4b71Sopenharmony_ci| mode | string | Yes | Mode for opening the file, which can be **'r'** (read-only), **'w'** (write-only), or **'rw'** (read/write).| 1636e41f4b71Sopenharmony_ci 1637e41f4b71Sopenharmony_ci**Return value** 1638e41f4b71Sopenharmony_ci 1639e41f4b71Sopenharmony_ci| Type | Description | 1640e41f4b71Sopenharmony_ci| --------------------- | ------------- | 1641e41f4b71Sopenharmony_ci| Promise<number> | Promise used to return the FD of the file opened.| 1642e41f4b71Sopenharmony_ci 1643e41f4b71Sopenharmony_ci**Error codes** 1644e41f4b71Sopenharmony_ci 1645e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 1646e41f4b71Sopenharmony_ci 1647e41f4b71Sopenharmony_ci| ID| Error Message| 1648e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 1649e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 1650e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 1651e41f4b71Sopenharmony_ci| 13900012 | Permission denied. | 1652e41f4b71Sopenharmony_ci| 13900020 | Invalid argument. | 1653e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 1654e41f4b71Sopenharmony_ci 1655e41f4b71Sopenharmony_ci**Example** 1656e41f4b71Sopenharmony_ci 1657e41f4b71Sopenharmony_ci```ts 1658e41f4b71Sopenharmony_ciasync function example() { 1659e41f4b71Sopenharmony_ci console.info('Open demo'); 1660e41f4b71Sopenharmony_ci try { 1661e41f4b71Sopenharmony_ci let testFileName: string = 'testFile' + Date.now() + '.jpg'; 1662e41f4b71Sopenharmony_ci let photoAsset: photoAccessHelper.PhotoAsset = await phAccessHelper.createAsset(testFileName); 1663e41f4b71Sopenharmony_ci let fd: number = await photoAsset.open('rw'); 1664e41f4b71Sopenharmony_ci if (fd !== undefined) { 1665e41f4b71Sopenharmony_ci console.info('File fd' + fd); 1666e41f4b71Sopenharmony_ci photoAsset.close(fd); 1667e41f4b71Sopenharmony_ci } else { 1668e41f4b71Sopenharmony_ci console.error('Open file fail'); 1669e41f4b71Sopenharmony_ci } 1670e41f4b71Sopenharmony_ci } catch (err) { 1671e41f4b71Sopenharmony_ci console.error(`Open demo err: ${err.code}, ${err.message}`); 1672e41f4b71Sopenharmony_ci } 1673e41f4b71Sopenharmony_ci} 1674e41f4b71Sopenharmony_ci``` 1675e41f4b71Sopenharmony_ci 1676e41f4b71Sopenharmony_ci### setFavorite<sup>(deprecated)</sup> 1677e41f4b71Sopenharmony_ci 1678e41f4b71Sopenharmony_cisetFavorite(favoriteState: boolean, callback: AsyncCallback<void>): void 1679e41f4b71Sopenharmony_ci 1680e41f4b71Sopenharmony_ciFavorites or unfavorites this file. This API uses an asynchronous callback to return the result. 1681e41f4b71Sopenharmony_ci 1682e41f4b71Sopenharmony_ci> **NOTE** 1683e41f4b71Sopenharmony_ci> 1684e41f4b71Sopenharmony_ci> This API is supported since API version 10 and deprecated since API version 11. Use [MediaAssetChangeRequest.setFavorite](#setfavorite11) instead. 1685e41f4b71Sopenharmony_ci 1686e41f4b71Sopenharmony_ci**System API**: This is a system API. 1687e41f4b71Sopenharmony_ci 1688e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.WRITE_IMAGEVIDEO 1689e41f4b71Sopenharmony_ci 1690e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 1691e41f4b71Sopenharmony_ci 1692e41f4b71Sopenharmony_ci**Parameters** 1693e41f4b71Sopenharmony_ci 1694e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 1695e41f4b71Sopenharmony_ci| ---------- | ------------------------- | ---- | ---------------------------------- | 1696e41f4b71Sopenharmony_ci| favoriteState | boolean | Yes | Operation to perform. The value **true** means to favorite the file asset, and **false** means the opposite.| 1697e41f4b71Sopenharmony_ci| callback | AsyncCallback<void> | Yes | Callback that returns no value. | 1698e41f4b71Sopenharmony_ci 1699e41f4b71Sopenharmony_ci**Error codes** 1700e41f4b71Sopenharmony_ci 1701e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 1702e41f4b71Sopenharmony_ci 1703e41f4b71Sopenharmony_ci| ID| Error Message| 1704e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 1705e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 1706e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 1707e41f4b71Sopenharmony_ci| 13900012 | Permission denied. | 1708e41f4b71Sopenharmony_ci| 13900020 | Invalid argument. | 1709e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 1710e41f4b71Sopenharmony_ci 1711e41f4b71Sopenharmony_ci**Example** 1712e41f4b71Sopenharmony_ci 1713e41f4b71Sopenharmony_ci```ts 1714e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 1715e41f4b71Sopenharmony_ci 1716e41f4b71Sopenharmony_ciasync function example() { 1717e41f4b71Sopenharmony_ci console.info('setFavoriteDemo'); 1718e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 1719e41f4b71Sopenharmony_ci let fetchOption: photoAccessHelper.FetchOptions = { 1720e41f4b71Sopenharmony_ci fetchColumns: [], 1721e41f4b71Sopenharmony_ci predicates: predicates 1722e41f4b71Sopenharmony_ci }; 1723e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOption); 1724e41f4b71Sopenharmony_ci let asset = await fetchResult.getFirstObject(); 1725e41f4b71Sopenharmony_ci asset.setFavorite(true, (err) => { 1726e41f4b71Sopenharmony_ci if (err === undefined) { 1727e41f4b71Sopenharmony_ci console.info('favorite successfully'); 1728e41f4b71Sopenharmony_ci } else { 1729e41f4b71Sopenharmony_ci console.error(`favorite failed with error: ${err.code}, ${err.message}`); 1730e41f4b71Sopenharmony_ci } 1731e41f4b71Sopenharmony_ci }); 1732e41f4b71Sopenharmony_ci} 1733e41f4b71Sopenharmony_ci``` 1734e41f4b71Sopenharmony_ci 1735e41f4b71Sopenharmony_ci### setFavorite<sup>(deprecated)</sup> 1736e41f4b71Sopenharmony_ci 1737e41f4b71Sopenharmony_cisetFavorite(favoriteState: boolean): Promise<void> 1738e41f4b71Sopenharmony_ci 1739e41f4b71Sopenharmony_ciFavorites or unfavorites this file asset. This API uses a promise to return the result. 1740e41f4b71Sopenharmony_ci 1741e41f4b71Sopenharmony_ci> **NOTE** 1742e41f4b71Sopenharmony_ci> 1743e41f4b71Sopenharmony_ci> This API is supported since API version 10 and deprecated since API version 11. Use [MediaAssetChangeRequest.setFavorite](#setfavorite11) instead. 1744e41f4b71Sopenharmony_ci 1745e41f4b71Sopenharmony_ci**System API**: This is a system API. 1746e41f4b71Sopenharmony_ci 1747e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.WRITE_IMAGEVIDEO 1748e41f4b71Sopenharmony_ci 1749e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 1750e41f4b71Sopenharmony_ci 1751e41f4b71Sopenharmony_ci**Parameters** 1752e41f4b71Sopenharmony_ci 1753e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 1754e41f4b71Sopenharmony_ci| ---------- | ------- | ---- | ---------------------------------- | 1755e41f4b71Sopenharmony_ci| favoriteState | boolean | Yes | Operation to perform. The value **true** means to favorite the file asset, and **false** means the opposite.| 1756e41f4b71Sopenharmony_ci 1757e41f4b71Sopenharmony_ci**Return value** 1758e41f4b71Sopenharmony_ci 1759e41f4b71Sopenharmony_ci| Type | Description | 1760e41f4b71Sopenharmony_ci| ------------------- | ---------- | 1761e41f4b71Sopenharmony_ci| Promise<void> | Promise that returns no value.| 1762e41f4b71Sopenharmony_ci 1763e41f4b71Sopenharmony_ci**Error codes** 1764e41f4b71Sopenharmony_ci 1765e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 1766e41f4b71Sopenharmony_ci 1767e41f4b71Sopenharmony_ci| ID| Error Message| 1768e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 1769e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 1770e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 1771e41f4b71Sopenharmony_ci| 13900012 | Permission denied. | 1772e41f4b71Sopenharmony_ci| 13900020 | Invalid argument. | 1773e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 1774e41f4b71Sopenharmony_ci 1775e41f4b71Sopenharmony_ci**Example** 1776e41f4b71Sopenharmony_ci 1777e41f4b71Sopenharmony_ci```ts 1778e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 1779e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 1780e41f4b71Sopenharmony_ci 1781e41f4b71Sopenharmony_ciasync function example() { 1782e41f4b71Sopenharmony_ci console.info('setFavoriteDemo'); 1783e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 1784e41f4b71Sopenharmony_ci let fetchOption: photoAccessHelper.FetchOptions = { 1785e41f4b71Sopenharmony_ci fetchColumns: [], 1786e41f4b71Sopenharmony_ci predicates: predicates 1787e41f4b71Sopenharmony_ci }; 1788e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOption); 1789e41f4b71Sopenharmony_ci let asset = await fetchResult.getFirstObject(); 1790e41f4b71Sopenharmony_ci asset.setFavorite(true).then(() => { 1791e41f4b71Sopenharmony_ci console.info('setFavorite successfully'); 1792e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 1793e41f4b71Sopenharmony_ci console.error(`setFavorite failed with error: ${err.code}, ${err.message}`); 1794e41f4b71Sopenharmony_ci }); 1795e41f4b71Sopenharmony_ci} 1796e41f4b71Sopenharmony_ci``` 1797e41f4b71Sopenharmony_ci 1798e41f4b71Sopenharmony_ci### setHidden<sup>(deprecated)</sup> 1799e41f4b71Sopenharmony_ci 1800e41f4b71Sopenharmony_cisetHidden(hiddenState: boolean, callback: AsyncCallback<void>): void 1801e41f4b71Sopenharmony_ci 1802e41f4b71Sopenharmony_ciSets this file to hidden state. This API uses an asynchronous callback to return the result. 1803e41f4b71Sopenharmony_ci 1804e41f4b71Sopenharmony_ciPrivate files are stored in the private album. After obtaining private files from the private album, users can set **hiddenState** to **false** to remove them from the private album. 1805e41f4b71Sopenharmony_ci 1806e41f4b71Sopenharmony_ci> **NOTE** 1807e41f4b71Sopenharmony_ci> 1808e41f4b71Sopenharmony_ci> This API is supported since API version 10 and deprecated since API version 11. Use [MediaAssetChangeRequest.setHidden](#sethidden11) instead. 1809e41f4b71Sopenharmony_ci 1810e41f4b71Sopenharmony_ci**System API**: This is a system API. 1811e41f4b71Sopenharmony_ci 1812e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.WRITE_IMAGEVIDEO 1813e41f4b71Sopenharmony_ci 1814e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 1815e41f4b71Sopenharmony_ci 1816e41f4b71Sopenharmony_ci**Parameters** 1817e41f4b71Sopenharmony_ci 1818e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 1819e41f4b71Sopenharmony_ci| ---------- | ------------------------- | ---- | ---------------------------------- | 1820e41f4b71Sopenharmony_ci| hiddenState | boolean | Yes | Whether to set a file to hidden state. The value **true** means to hide the file; the value **false** means the opposite.| 1821e41f4b71Sopenharmony_ci| callback | AsyncCallback<void> | Yes | Callback that returns no value. | 1822e41f4b71Sopenharmony_ci 1823e41f4b71Sopenharmony_ci**Error codes** 1824e41f4b71Sopenharmony_ci 1825e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 1826e41f4b71Sopenharmony_ci 1827e41f4b71Sopenharmony_ci| ID| Error Message| 1828e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 1829e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 1830e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 1831e41f4b71Sopenharmony_ci| 13900012 | Permission denied. | 1832e41f4b71Sopenharmony_ci| 13900020 | Invalid argument. | 1833e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 1834e41f4b71Sopenharmony_ci 1835e41f4b71Sopenharmony_ci**Example** 1836e41f4b71Sopenharmony_ci 1837e41f4b71Sopenharmony_ci```ts 1838e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 1839e41f4b71Sopenharmony_ci 1840e41f4b71Sopenharmony_ciasync function example() { 1841e41f4b71Sopenharmony_ci console.info('setHiddenDemo'); 1842e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 1843e41f4b71Sopenharmony_ci let fetchOption: photoAccessHelper.FetchOptions = { 1844e41f4b71Sopenharmony_ci fetchColumns: [], 1845e41f4b71Sopenharmony_ci predicates: predicates 1846e41f4b71Sopenharmony_ci }; 1847e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOption); 1848e41f4b71Sopenharmony_ci let asset = await fetchResult.getFirstObject(); 1849e41f4b71Sopenharmony_ci asset.setHidden(true, (err) => { 1850e41f4b71Sopenharmony_ci if (err === undefined) { 1851e41f4b71Sopenharmony_ci console.info('setHidden successfully'); 1852e41f4b71Sopenharmony_ci } else { 1853e41f4b71Sopenharmony_ci console.error(`setHidden failed with error: ${err.code}, ${err.message}`); 1854e41f4b71Sopenharmony_ci } 1855e41f4b71Sopenharmony_ci }); 1856e41f4b71Sopenharmony_ci} 1857e41f4b71Sopenharmony_ci``` 1858e41f4b71Sopenharmony_ci 1859e41f4b71Sopenharmony_ci### setHidden<sup>(deprecated)</sup> 1860e41f4b71Sopenharmony_ci 1861e41f4b71Sopenharmony_cisetHidden(hiddenState: boolean): Promise<void> 1862e41f4b71Sopenharmony_ci 1863e41f4b71Sopenharmony_ciSets this file asset to hidden state. This API uses a promise to return the result. 1864e41f4b71Sopenharmony_ci 1865e41f4b71Sopenharmony_ciPrivate files are stored in the private album. After obtaining private files from the private album, users can set **hiddenState** to **false** to remove them from the private album. 1866e41f4b71Sopenharmony_ci 1867e41f4b71Sopenharmony_ci> **NOTE** 1868e41f4b71Sopenharmony_ci> 1869e41f4b71Sopenharmony_ci> This API is supported since API version 10 and deprecated since API version 11. Use [MediaAssetChangeRequest.setHidden](#sethidden11) instead. 1870e41f4b71Sopenharmony_ci 1871e41f4b71Sopenharmony_ci**System API**: This is a system API. 1872e41f4b71Sopenharmony_ci 1873e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.WRITE_IMAGEVIDEO 1874e41f4b71Sopenharmony_ci 1875e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 1876e41f4b71Sopenharmony_ci 1877e41f4b71Sopenharmony_ci**Parameters** 1878e41f4b71Sopenharmony_ci 1879e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 1880e41f4b71Sopenharmony_ci| ---------- | ------- | ---- | ---------------------------------- | 1881e41f4b71Sopenharmony_ci| hiddenState | boolean | Yes | Whether to set a file to hidden state. The value **true** means to hide the file; the value **false** means the opposite.| 1882e41f4b71Sopenharmony_ci 1883e41f4b71Sopenharmony_ci**Return value** 1884e41f4b71Sopenharmony_ci 1885e41f4b71Sopenharmony_ci| Type | Description | 1886e41f4b71Sopenharmony_ci| ------------------- | ---------- | 1887e41f4b71Sopenharmony_ci| Promise<void> | Promise that returns no value.| 1888e41f4b71Sopenharmony_ci 1889e41f4b71Sopenharmony_ci**Error codes** 1890e41f4b71Sopenharmony_ci 1891e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 1892e41f4b71Sopenharmony_ci 1893e41f4b71Sopenharmony_ci| ID| Error Message| 1894e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 1895e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 1896e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 1897e41f4b71Sopenharmony_ci| 13900012 | Permission denied. | 1898e41f4b71Sopenharmony_ci| 13900020 | Invalid argument. | 1899e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 1900e41f4b71Sopenharmony_ci 1901e41f4b71Sopenharmony_ci**Example** 1902e41f4b71Sopenharmony_ci 1903e41f4b71Sopenharmony_ci```ts 1904e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 1905e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 1906e41f4b71Sopenharmony_ci 1907e41f4b71Sopenharmony_ciasync function example() { 1908e41f4b71Sopenharmony_ci // Restore a file from a hidden album. Before the operation, ensure that the file exists in the hidden album. 1909e41f4b71Sopenharmony_ci console.info('setHiddenDemo'); 1910e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 1911e41f4b71Sopenharmony_ci let fetchOption: photoAccessHelper.FetchOptions = { 1912e41f4b71Sopenharmony_ci fetchColumns: [], 1913e41f4b71Sopenharmony_ci predicates: predicates 1914e41f4b71Sopenharmony_ci }; 1915e41f4b71Sopenharmony_ci let albumList: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.SYSTEM, photoAccessHelper.AlbumSubtype.HIDDEN); 1916e41f4b71Sopenharmony_ci let album = await albumList.getFirstObject(); 1917e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await album.getAssets(fetchOption); 1918e41f4b71Sopenharmony_ci let asset = await fetchResult.getFirstObject(); 1919e41f4b71Sopenharmony_ci asset.setHidden(false).then(() => { 1920e41f4b71Sopenharmony_ci console.info('setHidden successfully'); 1921e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 1922e41f4b71Sopenharmony_ci console.error(`setHidden failed with error: ${err.code}, ${err.message}`); 1923e41f4b71Sopenharmony_ci }); 1924e41f4b71Sopenharmony_ci} 1925e41f4b71Sopenharmony_ci``` 1926e41f4b71Sopenharmony_ci 1927e41f4b71Sopenharmony_ci### getExif 1928e41f4b71Sopenharmony_ci 1929e41f4b71Sopenharmony_cigetExif(): Promise<string> 1930e41f4b71Sopenharmony_ci 1931e41f4b71Sopenharmony_ciObtains the exchangeable image file format (EXIF) data from a JPG image. This API uses a promise to return the result. 1932e41f4b71Sopenharmony_ci 1933e41f4b71Sopenharmony_ciThe EXIF information obtained are provided by the [image](../apis-image-kit/js-apis-image.md) module. For details about the EXIF information, see [image.PropertyKey](../apis-image-kit/js-apis-image.md#propertykey7). 1934e41f4b71Sopenharmony_ci 1935e41f4b71Sopenharmony_ci> **NOTE**<br>This API returns a JSON string consisting of EXIF tags. The complete EXIF information consists of **all_exif** and [PhotoKeys.USER_COMMENT](#photokeys). These two fields must be passed in via **fetchColumns**. 1936e41f4b71Sopenharmony_ci 1937e41f4b71Sopenharmony_ci**System API**: This is a system API. 1938e41f4b71Sopenharmony_ci 1939e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.READ_IMAGEVIDEO 1940e41f4b71Sopenharmony_ci 1941e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 1942e41f4b71Sopenharmony_ci 1943e41f4b71Sopenharmony_ci**Return value** 1944e41f4b71Sopenharmony_ci 1945e41f4b71Sopenharmony_ci| Type | Description | 1946e41f4b71Sopenharmony_ci| --------------------------------------- | ----------------- | 1947e41f4b71Sopenharmony_ci| Promise<string> | Promise used to return the EXIF data, in JSON strings.| 1948e41f4b71Sopenharmony_ci 1949e41f4b71Sopenharmony_ci**Error codes** 1950e41f4b71Sopenharmony_ci 1951e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 1952e41f4b71Sopenharmony_ci 1953e41f4b71Sopenharmony_ci| ID| Error Message| 1954e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 1955e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 1956e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 1957e41f4b71Sopenharmony_ci| 13900012 | Permission denied. | 1958e41f4b71Sopenharmony_ci| 13900020 | Invalid argument. | 1959e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 1960e41f4b71Sopenharmony_ci 1961e41f4b71Sopenharmony_ci**Example** 1962e41f4b71Sopenharmony_ci 1963e41f4b71Sopenharmony_ci```ts 1964e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 1965e41f4b71Sopenharmony_ci 1966e41f4b71Sopenharmony_ciasync function example() { 1967e41f4b71Sopenharmony_ci try { 1968e41f4b71Sopenharmony_ci console.info('getExifDemo'); 1969e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 1970e41f4b71Sopenharmony_ci let fetchOptions: photoAccessHelper.FetchOptions = { 1971e41f4b71Sopenharmony_ci fetchColumns: [ 'all_exif', photoAccessHelper.PhotoKeys.USER_COMMENT], 1972e41f4b71Sopenharmony_ci predicates: predicates 1973e41f4b71Sopenharmony_ci }; 1974e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOptions); 1975e41f4b71Sopenharmony_ci let photoAsset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject(); 1976e41f4b71Sopenharmony_ci let exifMessage = await photoAsset.getExif(); 1977e41f4b71Sopenharmony_ci let userCommentKey = 'UserComment'; 1978e41f4b71Sopenharmony_ci let userComment = JSON.stringify(JSON.parse(exifMessage), [userCommentKey]); 1979e41f4b71Sopenharmony_ci console.info('getExifDemo userComment: ' + JSON.stringify(userComment)); 1980e41f4b71Sopenharmony_ci fetchResult.close(); 1981e41f4b71Sopenharmony_ci } catch (err) { 1982e41f4b71Sopenharmony_ci console.error(`getExifDemoCallback failed with error: ${err.code}, ${err.message}`); 1983e41f4b71Sopenharmony_ci } 1984e41f4b71Sopenharmony_ci} 1985e41f4b71Sopenharmony_ci``` 1986e41f4b71Sopenharmony_ci 1987e41f4b71Sopenharmony_ci### getExif 1988e41f4b71Sopenharmony_ci 1989e41f4b71Sopenharmony_cigetExif(callback: AsyncCallback<string>): void 1990e41f4b71Sopenharmony_ci 1991e41f4b71Sopenharmony_ciObtains the exchangeable image file format (EXIF) data from a JPG image. This API uses an asynchronous callback to return the result. 1992e41f4b71Sopenharmony_ci 1993e41f4b71Sopenharmony_ciThe EXIF data obtained are provided by the [image](../apis-image-kit/js-apis-image.md) module. For details about the EXIF information, see [image.PropertyKey](../apis-image-kit/js-apis-image.md#propertykey7). 1994e41f4b71Sopenharmony_ci 1995e41f4b71Sopenharmony_ci> **NOTE**<br>This API returns a JSON string consisting of EXIF tags. The complete EXIF information consists of **all_exif** and [PhotoKeys.USER_COMMENT](#photokeys). These two fields must be passed in via **fetchColumns**. 1996e41f4b71Sopenharmony_ci 1997e41f4b71Sopenharmony_ci**System API**: This is a system API. 1998e41f4b71Sopenharmony_ci 1999e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.READ_IMAGEVIDEO 2000e41f4b71Sopenharmony_ci 2001e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 2002e41f4b71Sopenharmony_ci 2003e41f4b71Sopenharmony_ci**Parameters** 2004e41f4b71Sopenharmony_ci 2005e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 2006e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ---------- | 2007e41f4b71Sopenharmony_ci| callback | AsyncCallback<string> | Yes | Callback invoked to return the EXIF data, in JSON strings.| 2008e41f4b71Sopenharmony_ci 2009e41f4b71Sopenharmony_ci**Error codes** 2010e41f4b71Sopenharmony_ci 2011e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 2012e41f4b71Sopenharmony_ci 2013e41f4b71Sopenharmony_ci| ID| Error Message| 2014e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 2015e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 2016e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 2017e41f4b71Sopenharmony_ci| 13900012 | Permission denied. | 2018e41f4b71Sopenharmony_ci| 13900020 | Invalid argument. | 2019e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 2020e41f4b71Sopenharmony_ci 2021e41f4b71Sopenharmony_ci**Example** 2022e41f4b71Sopenharmony_ci 2023e41f4b71Sopenharmony_ci```ts 2024e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 2025e41f4b71Sopenharmony_ci 2026e41f4b71Sopenharmony_ciasync function example() { 2027e41f4b71Sopenharmony_ci try { 2028e41f4b71Sopenharmony_ci console.info('getExifDemo'); 2029e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 2030e41f4b71Sopenharmony_ci predicates.isNotNull('all_exif') 2031e41f4b71Sopenharmony_ci let fetchOptions: photoAccessHelper.FetchOptions = { 2032e41f4b71Sopenharmony_ci fetchColumns: ['all_exif', photoAccessHelper.PhotoKeys.USER_COMMENT], 2033e41f4b71Sopenharmony_ci predicates: predicates 2034e41f4b71Sopenharmony_ci }; 2035e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOptions); 2036e41f4b71Sopenharmony_ci let photoAsset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject(); 2037e41f4b71Sopenharmony_ci console.info('getExifDemo photoAsset displayName: ' + JSON.stringify(photoAsset.displayName)); 2038e41f4b71Sopenharmony_ci let userCommentKey = 'UserComment'; 2039e41f4b71Sopenharmony_ci photoAsset.getExif((err, exifMessage) => { 2040e41f4b71Sopenharmony_ci if (exifMessage !== undefined) { 2041e41f4b71Sopenharmony_ci let userComment = JSON.stringify(JSON.parse(exifMessage), [userCommentKey]); 2042e41f4b71Sopenharmony_ci console.info('getExifDemo userComment: ' + JSON.stringify(userComment)); 2043e41f4b71Sopenharmony_ci } else { 2044e41f4b71Sopenharmony_ci console.error(`getExif failed, error: ${err.code}, ${err.message}`); 2045e41f4b71Sopenharmony_ci } 2046e41f4b71Sopenharmony_ci }); 2047e41f4b71Sopenharmony_ci fetchResult.close(); 2048e41f4b71Sopenharmony_ci } catch (err) { 2049e41f4b71Sopenharmony_ci console.error(`getExifDemoCallback failed with error: ${err.code}, ${err.message}`); 2050e41f4b71Sopenharmony_ci } 2051e41f4b71Sopenharmony_ci} 2052e41f4b71Sopenharmony_ci``` 2053e41f4b71Sopenharmony_ci 2054e41f4b71Sopenharmony_ci### setUserComment<sup>(deprecated)</sup> 2055e41f4b71Sopenharmony_ci 2056e41f4b71Sopenharmony_cisetUserComment(userComment: string): Promise<void> 2057e41f4b71Sopenharmony_ci 2058e41f4b71Sopenharmony_ciSets user comment information of an image or video. This API uses a promise to return the result. 2059e41f4b71Sopenharmony_ci 2060e41f4b71Sopenharmony_ci> **NOTE** 2061e41f4b71Sopenharmony_ci> 2062e41f4b71Sopenharmony_ci> This API is supported since API version 10 and deprecated since API version 11. Use [MediaAssetChangeRequest.setUserComment](#setusercomment11) instead. 2063e41f4b71Sopenharmony_ci 2064e41f4b71Sopenharmony_ci**NOTE**<br>This API can be used to modify the comment information of only images or videos. 2065e41f4b71Sopenharmony_ci 2066e41f4b71Sopenharmony_ci**System API**: This is a system API. 2067e41f4b71Sopenharmony_ci 2068e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.WRITE_IMAGEVIDEO 2069e41f4b71Sopenharmony_ci 2070e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 2071e41f4b71Sopenharmony_ci 2072e41f4b71Sopenharmony_ci**Parameters** 2073e41f4b71Sopenharmony_ci 2074e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 2075e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ---------- | 2076e41f4b71Sopenharmony_ci| userComment | string | Yes | User comment information to set, which cannot exceed 420 characters.| 2077e41f4b71Sopenharmony_ci 2078e41f4b71Sopenharmony_ci**Return value** 2079e41f4b71Sopenharmony_ci 2080e41f4b71Sopenharmony_ci| Type | Description | 2081e41f4b71Sopenharmony_ci| --------------------------------------- | ----------------- | 2082e41f4b71Sopenharmony_ci|Promise<void> | Promise that returns no value.| 2083e41f4b71Sopenharmony_ci 2084e41f4b71Sopenharmony_ci**Error codes** 2085e41f4b71Sopenharmony_ci 2086e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 2087e41f4b71Sopenharmony_ci 2088e41f4b71Sopenharmony_ci| ID| Error Message| 2089e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 2090e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 2091e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 2092e41f4b71Sopenharmony_ci| 13900012 | Permission denied. | 2093e41f4b71Sopenharmony_ci| 13900020 | Invalid argument. | 2094e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 2095e41f4b71Sopenharmony_ci 2096e41f4b71Sopenharmony_ci**Example** 2097e41f4b71Sopenharmony_ci 2098e41f4b71Sopenharmony_ci```ts 2099e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 2100e41f4b71Sopenharmony_ci 2101e41f4b71Sopenharmony_ciasync function example() { 2102e41f4b71Sopenharmony_ci try { 2103e41f4b71Sopenharmony_ci console.info('setUserCommentDemo') 2104e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 2105e41f4b71Sopenharmony_ci let fetchOptions: photoAccessHelper.FetchOptions = { 2106e41f4b71Sopenharmony_ci fetchColumns: [], 2107e41f4b71Sopenharmony_ci predicates: predicates 2108e41f4b71Sopenharmony_ci }; 2109e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOptions); 2110e41f4b71Sopenharmony_ci let photoAsset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject(); 2111e41f4b71Sopenharmony_ci let userComment = 'test_set_user_comment'; 2112e41f4b71Sopenharmony_ci await photoAsset.setUserComment(userComment); 2113e41f4b71Sopenharmony_ci } catch (err) { 2114e41f4b71Sopenharmony_ci console.error(`setUserCommentDemoPromise failed with error: ${err.code}, ${err.message}`); 2115e41f4b71Sopenharmony_ci } 2116e41f4b71Sopenharmony_ci} 2117e41f4b71Sopenharmony_ci``` 2118e41f4b71Sopenharmony_ci 2119e41f4b71Sopenharmony_ci### setUserComment<sup>(deprecated)</sup> 2120e41f4b71Sopenharmony_ci 2121e41f4b71Sopenharmony_cisetUserComment(userComment: string, callback: AsyncCallback<void>): void 2122e41f4b71Sopenharmony_ci 2123e41f4b71Sopenharmony_ciSets user comment information of an image or video. This API uses an asynchronous callback to return the result. 2124e41f4b71Sopenharmony_ci 2125e41f4b71Sopenharmony_ci> **NOTE** 2126e41f4b71Sopenharmony_ci> 2127e41f4b71Sopenharmony_ci> This API is supported since API version 10 and deprecated since API version 11. Use [MediaAssetChangeRequest.setUserComment](#setusercomment11) instead. 2128e41f4b71Sopenharmony_ci 2129e41f4b71Sopenharmony_ci**NOTE**<br>This API can be used to modify the comment information of only images or videos. 2130e41f4b71Sopenharmony_ci 2131e41f4b71Sopenharmony_ci**System API**: This is a system API. 2132e41f4b71Sopenharmony_ci 2133e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.WRITE_IMAGEVIDEO 2134e41f4b71Sopenharmony_ci 2135e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 2136e41f4b71Sopenharmony_ci 2137e41f4b71Sopenharmony_ci**Parameters** 2138e41f4b71Sopenharmony_ci 2139e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 2140e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ---------- | 2141e41f4b71Sopenharmony_ci| userComment | string | Yes | User comment information to set, which cannot exceed 420 characters.| 2142e41f4b71Sopenharmony_ci| callback | AsyncCallback<void> | Yes | Callback that returns no value.| 2143e41f4b71Sopenharmony_ci 2144e41f4b71Sopenharmony_ci**Error codes** 2145e41f4b71Sopenharmony_ci 2146e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 2147e41f4b71Sopenharmony_ci 2148e41f4b71Sopenharmony_ci| ID| Error Message| 2149e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 2150e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 2151e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 2152e41f4b71Sopenharmony_ci| 13900012 | Permission denied. | 2153e41f4b71Sopenharmony_ci| 13900020 | Invalid argument. | 2154e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 2155e41f4b71Sopenharmony_ci 2156e41f4b71Sopenharmony_ci**Example** 2157e41f4b71Sopenharmony_ci 2158e41f4b71Sopenharmony_ci```ts 2159e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 2160e41f4b71Sopenharmony_ci 2161e41f4b71Sopenharmony_ciasync function example() { 2162e41f4b71Sopenharmony_ci try { 2163e41f4b71Sopenharmony_ci console.info('setUserCommentDemo') 2164e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 2165e41f4b71Sopenharmony_ci let fetchOptions: photoAccessHelper.FetchOptions = { 2166e41f4b71Sopenharmony_ci fetchColumns: [], 2167e41f4b71Sopenharmony_ci predicates: predicates 2168e41f4b71Sopenharmony_ci }; 2169e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOptions); 2170e41f4b71Sopenharmony_ci let photoAsset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject(); 2171e41f4b71Sopenharmony_ci let userComment = 'test_set_user_comment'; 2172e41f4b71Sopenharmony_ci photoAsset.setUserComment(userComment, (err) => { 2173e41f4b71Sopenharmony_ci if (err === undefined) { 2174e41f4b71Sopenharmony_ci console.info('setUserComment successfully'); 2175e41f4b71Sopenharmony_ci } else { 2176e41f4b71Sopenharmony_ci console.error(`setUserComment failed with error: ${err.code}, ${err.message}`); 2177e41f4b71Sopenharmony_ci } 2178e41f4b71Sopenharmony_ci }); 2179e41f4b71Sopenharmony_ci } catch (err) { 2180e41f4b71Sopenharmony_ci console.error(`setUserCommentDemoCallback failed with error: ${err.code}, ${err.message}`); 2181e41f4b71Sopenharmony_ci } 2182e41f4b71Sopenharmony_ci} 2183e41f4b71Sopenharmony_ci``` 2184e41f4b71Sopenharmony_ci 2185e41f4b71Sopenharmony_ci### setPending<sup>11+</sup> 2186e41f4b71Sopenharmony_ci 2187e41f4b71Sopenharmony_cisetPending(pendingState: boolean, callback: AsyncCallback<void>): void 2188e41f4b71Sopenharmony_ci 2189e41f4b71Sopenharmony_ciSets the pending state for this image or video asset. This API uses an asynchronous callback to return the result. 2190e41f4b71Sopenharmony_ci 2191e41f4b71Sopenharmony_ciThe pending state can be removed only through **setPending(false)**. You can use **photoAsset.get(photoAccessHelper.PhotoKeys.PENDING)** to check whether the asset state is pending. If the asset is in pending state, **true** is returned. Otherwise, **false** is returned. 2192e41f4b71Sopenharmony_ci 2193e41f4b71Sopenharmony_ci**NOTE**<br>**setPending** can be used only during the file creation process. Once the FD is closed, **setPending(true)** cannot be used to set the pending state for the file. 2194e41f4b71Sopenharmony_ci 2195e41f4b71Sopenharmony_ci**System API**: This is a system API. 2196e41f4b71Sopenharmony_ci 2197e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.WRITE_IMAGEVIDEO 2198e41f4b71Sopenharmony_ci 2199e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 2200e41f4b71Sopenharmony_ci 2201e41f4b71Sopenharmony_ci**Parameters** 2202e41f4b71Sopenharmony_ci 2203e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 2204e41f4b71Sopenharmony_ci| ---------- | ------- | ---- | ---------------------------------- | 2205e41f4b71Sopenharmony_ci| pendingState | boolean | Yes | Whether to set the file to pending state. The value **true** means to set the file to pending state, and the value **false** means to remove the pending state.| 2206e41f4b71Sopenharmony_ci| callback | AsyncCallback<void> | Yes | Callback that returns no value.| 2207e41f4b71Sopenharmony_ci 2208e41f4b71Sopenharmony_ci**Error codes** 2209e41f4b71Sopenharmony_ci 2210e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 2211e41f4b71Sopenharmony_ci 2212e41f4b71Sopenharmony_ci| ID| Error Message| 2213e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 2214e41f4b71Sopenharmony_ci| 201 | Permission denied. | 2215e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 2216e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 2217e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 2218e41f4b71Sopenharmony_ci 2219e41f4b71Sopenharmony_ci**Example** 2220e41f4b71Sopenharmony_ci 2221e41f4b71Sopenharmony_ci```ts 2222e41f4b71Sopenharmony_ciasync function example() { 2223e41f4b71Sopenharmony_ci try { 2224e41f4b71Sopenharmony_ci console.info('setPendingCallbackDemo'); 2225e41f4b71Sopenharmony_ci let testFileName: string = 'testFile' + Date.now() + '.jpg'; 2226e41f4b71Sopenharmony_ci let photoAsset = await phAccessHelper.createAsset(testFileName); 2227e41f4b71Sopenharmony_ci let fd = await photoAsset.open('rw'); 2228e41f4b71Sopenharmony_ci photoAsset.setPending(true, async (err) => { 2229e41f4b71Sopenharmony_ci if (err !== undefined) { 2230e41f4b71Sopenharmony_ci console.error(`setPending(true) failed with error: ${err.code}, ${err.message}`); 2231e41f4b71Sopenharmony_ci return; 2232e41f4b71Sopenharmony_ci } 2233e41f4b71Sopenharmony_ci // write photo buffer in fd 2234e41f4b71Sopenharmony_ci photoAsset.setPending(false, async (err) => { 2235e41f4b71Sopenharmony_ci if (err !== undefined) { 2236e41f4b71Sopenharmony_ci console.error(`setPending(false) failed with error: ${err.code}, ${err.message}`); 2237e41f4b71Sopenharmony_ci return; 2238e41f4b71Sopenharmony_ci } 2239e41f4b71Sopenharmony_ci await photoAsset.close(fd); 2240e41f4b71Sopenharmony_ci }); 2241e41f4b71Sopenharmony_ci }); 2242e41f4b71Sopenharmony_ci } catch (err) { 2243e41f4b71Sopenharmony_ci console.error(`setPendingCallbackDemo failed with error: ${err.code}, ${err.message}`); 2244e41f4b71Sopenharmony_ci } 2245e41f4b71Sopenharmony_ci} 2246e41f4b71Sopenharmony_ci``` 2247e41f4b71Sopenharmony_ci 2248e41f4b71Sopenharmony_ci### setPending<sup>11+</sup> 2249e41f4b71Sopenharmony_ci 2250e41f4b71Sopenharmony_cisetPending(pendingState: boolean): Promise<void> 2251e41f4b71Sopenharmony_ci 2252e41f4b71Sopenharmony_ciSets the pending state for this image or video asset. This API uses a promise to return the result. 2253e41f4b71Sopenharmony_ci 2254e41f4b71Sopenharmony_ciThe pending state can be removed only through **setPending(false)**. You can use **photoAsset.get(photoAccessHelper.PhotoKeys.PENDING)** to check whether the asset state is pending. If the asset is in pending state, **true** is returned. Otherwise, **false** is returned. 2255e41f4b71Sopenharmony_ci 2256e41f4b71Sopenharmony_ci**NOTE**<br>**setPending** can be used only during the file creation process. Once the FD is closed, **setPending(true)** cannot be used to set the pending state for the file. 2257e41f4b71Sopenharmony_ci 2258e41f4b71Sopenharmony_ci**System API**: This is a system API. 2259e41f4b71Sopenharmony_ci 2260e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.WRITE_IMAGEVIDEO 2261e41f4b71Sopenharmony_ci 2262e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 2263e41f4b71Sopenharmony_ci 2264e41f4b71Sopenharmony_ci**Parameters** 2265e41f4b71Sopenharmony_ci 2266e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 2267e41f4b71Sopenharmony_ci| ---------- | ------- | ---- | ---------------------------------- | 2268e41f4b71Sopenharmony_ci| pendingState | boolean | Yes | Whether to set the file to pending state. The value **true** means to set the file to pending state, and the value **false** means to remove the pending state.| 2269e41f4b71Sopenharmony_ci 2270e41f4b71Sopenharmony_ci**Return value** 2271e41f4b71Sopenharmony_ci 2272e41f4b71Sopenharmony_ci| Type | Description | 2273e41f4b71Sopenharmony_ci| --------------------------------------- | ----------------- | 2274e41f4b71Sopenharmony_ci|Promise<boolean> | Promise that returns no value.| 2275e41f4b71Sopenharmony_ci 2276e41f4b71Sopenharmony_ci**Error codes** 2277e41f4b71Sopenharmony_ci 2278e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 2279e41f4b71Sopenharmony_ci 2280e41f4b71Sopenharmony_ci| ID| Error Message| 2281e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 2282e41f4b71Sopenharmony_ci| 201 | Permission denied. | 2283e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 2284e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 2285e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 2286e41f4b71Sopenharmony_ci 2287e41f4b71Sopenharmony_ci**Example** 2288e41f4b71Sopenharmony_ci 2289e41f4b71Sopenharmony_ci```ts 2290e41f4b71Sopenharmony_ciasync function example() { 2291e41f4b71Sopenharmony_ci try { 2292e41f4b71Sopenharmony_ci console.info('setPendingPromiseDemo'); 2293e41f4b71Sopenharmony_ci let testFileName: string = 'testFile' + Date.now() + '.jpg'; 2294e41f4b71Sopenharmony_ci let photoAsset = await phAccessHelper.createAsset(testFileName); 2295e41f4b71Sopenharmony_ci let fd = await photoAsset.open('rw'); 2296e41f4b71Sopenharmony_ci await photoAsset.setPending(true); 2297e41f4b71Sopenharmony_ci // write photo buffer in fd 2298e41f4b71Sopenharmony_ci photoAsset.setPending(false); 2299e41f4b71Sopenharmony_ci await photoAsset.close(fd); 2300e41f4b71Sopenharmony_ci } catch (err) { 2301e41f4b71Sopenharmony_ci console.error(`setPendingPromiseDemo failed with error: ${err.code}, ${err.message}`); 2302e41f4b71Sopenharmony_ci } 2303e41f4b71Sopenharmony_ci} 2304e41f4b71Sopenharmony_ci``` 2305e41f4b71Sopenharmony_ci 2306e41f4b71Sopenharmony_ci### isEdited<sup>11+</sup> 2307e41f4b71Sopenharmony_ci 2308e41f4b71Sopenharmony_ciisEdited(callback: AsyncCallback<boolean>): void 2309e41f4b71Sopenharmony_ci 2310e41f4b71Sopenharmony_ciChecks whether this image or video asset is edited. This API uses an asynchronous callback to return the result. 2311e41f4b71Sopenharmony_ci 2312e41f4b71Sopenharmony_ci**System API**: This is a system API. 2313e41f4b71Sopenharmony_ci 2314e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.READ_IMAGEVIDEO 2315e41f4b71Sopenharmony_ci 2316e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 2317e41f4b71Sopenharmony_ci 2318e41f4b71Sopenharmony_ci**Parameters** 2319e41f4b71Sopenharmony_ci 2320e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 2321e41f4b71Sopenharmony_ci| ---------- | ------- | ---- | ---------------------------------- | 2322e41f4b71Sopenharmony_ci| callback | AsyncCallback<boolean> | Yes | Callback invoked to return the result.| 2323e41f4b71Sopenharmony_ci 2324e41f4b71Sopenharmony_ci**Error codes** 2325e41f4b71Sopenharmony_ci 2326e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 2327e41f4b71Sopenharmony_ci 2328e41f4b71Sopenharmony_ci| ID| Error Message| 2329e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 2330e41f4b71Sopenharmony_ci| 201 | Permission denied. | 2331e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 2332e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 2333e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 2334e41f4b71Sopenharmony_ci 2335e41f4b71Sopenharmony_ci**Example** 2336e41f4b71Sopenharmony_ci 2337e41f4b71Sopenharmony_ci```ts 2338e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 2339e41f4b71Sopenharmony_ci 2340e41f4b71Sopenharmony_ciasync function example() { 2341e41f4b71Sopenharmony_ci try { 2342e41f4b71Sopenharmony_ci console.info('isEditedCallbackDemo') 2343e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 2344e41f4b71Sopenharmony_ci let fetchOptions: photoAccessHelper.FetchOptions = { 2345e41f4b71Sopenharmony_ci fetchColumns: [], 2346e41f4b71Sopenharmony_ci predicates: predicates 2347e41f4b71Sopenharmony_ci }; 2348e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOptions); 2349e41f4b71Sopenharmony_ci let photoAsset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject(); 2350e41f4b71Sopenharmony_ci photoAsset.isEdited((err, isEdited) => { 2351e41f4b71Sopenharmony_ci if (err === undefined) { 2352e41f4b71Sopenharmony_ci if (isEdited === true) { 2353e41f4b71Sopenharmony_ci console.info('Photo is edited'); 2354e41f4b71Sopenharmony_ci } else { 2355e41f4b71Sopenharmony_ci console.info('Photo is not edited'); 2356e41f4b71Sopenharmony_ci } 2357e41f4b71Sopenharmony_ci } else { 2358e41f4b71Sopenharmony_ci console.error(`isEdited failed with error: ${err.code}, ${err.message}`); 2359e41f4b71Sopenharmony_ci } 2360e41f4b71Sopenharmony_ci }); 2361e41f4b71Sopenharmony_ci } catch (err) { 2362e41f4b71Sopenharmony_ci console.error(`isEditedDemoCallback failed with error: ${err.code}, ${err.message}`); 2363e41f4b71Sopenharmony_ci } 2364e41f4b71Sopenharmony_ci} 2365e41f4b71Sopenharmony_ci``` 2366e41f4b71Sopenharmony_ci 2367e41f4b71Sopenharmony_ci### isEdited<sup>11+</sup> 2368e41f4b71Sopenharmony_ci 2369e41f4b71Sopenharmony_ciisEdited(): Promise<boolean> 2370e41f4b71Sopenharmony_ci 2371e41f4b71Sopenharmony_ciChecks whether this image or video asset is edited. This API uses a promise to return the result. 2372e41f4b71Sopenharmony_ci 2373e41f4b71Sopenharmony_ci**System API**: This is a system API. 2374e41f4b71Sopenharmony_ci 2375e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.READ_IMAGEVIDEO 2376e41f4b71Sopenharmony_ci 2377e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 2378e41f4b71Sopenharmony_ci 2379e41f4b71Sopenharmony_ci**Return value** 2380e41f4b71Sopenharmony_ci 2381e41f4b71Sopenharmony_ci| Type | Description | 2382e41f4b71Sopenharmony_ci| --------------------------------------- | ----------------- | 2383e41f4b71Sopenharmony_ci|Promise<boolean> | Promise used to return the result.| 2384e41f4b71Sopenharmony_ci 2385e41f4b71Sopenharmony_ci 2386e41f4b71Sopenharmony_ci**Error codes** 2387e41f4b71Sopenharmony_ci 2388e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 2389e41f4b71Sopenharmony_ci 2390e41f4b71Sopenharmony_ci| ID| Error Message| 2391e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 2392e41f4b71Sopenharmony_ci| 201 | Permission denied. | 2393e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 2394e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 2395e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 2396e41f4b71Sopenharmony_ci 2397e41f4b71Sopenharmony_ci**Example** 2398e41f4b71Sopenharmony_ci 2399e41f4b71Sopenharmony_ci```ts 2400e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 2401e41f4b71Sopenharmony_ci 2402e41f4b71Sopenharmony_ciasync function example() { 2403e41f4b71Sopenharmony_ci try { 2404e41f4b71Sopenharmony_ci console.info('isEditedPromiseDemo') 2405e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 2406e41f4b71Sopenharmony_ci let fetchOptions: photoAccessHelper.FetchOptions = { 2407e41f4b71Sopenharmony_ci fetchColumns: [], 2408e41f4b71Sopenharmony_ci predicates: predicates 2409e41f4b71Sopenharmony_ci }; 2410e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOptions); 2411e41f4b71Sopenharmony_ci let photoAsset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject(); 2412e41f4b71Sopenharmony_ci let isEdited = await photoAsset.isEdited(); 2413e41f4b71Sopenharmony_ci if (isEdited === true) { 2414e41f4b71Sopenharmony_ci console.info('Photo is edited'); 2415e41f4b71Sopenharmony_ci } else { 2416e41f4b71Sopenharmony_ci console.info('Photo is not edited'); 2417e41f4b71Sopenharmony_ci } 2418e41f4b71Sopenharmony_ci } catch (err) { 2419e41f4b71Sopenharmony_ci console.error(`isEditedDemoCallback failed with error: ${err.code}, ${err.message}`); 2420e41f4b71Sopenharmony_ci } 2421e41f4b71Sopenharmony_ci} 2422e41f4b71Sopenharmony_ci``` 2423e41f4b71Sopenharmony_ci 2424e41f4b71Sopenharmony_ci### requestEditData<sup>11+</sup> 2425e41f4b71Sopenharmony_ci 2426e41f4b71Sopenharmony_cirequestEditData(callback: AsyncCallback<string>): void 2427e41f4b71Sopenharmony_ci 2428e41f4b71Sopenharmony_ciObtains the edit data of this image or video asset. This API uses an asynchronous callback to return the result. 2429e41f4b71Sopenharmony_ci 2430e41f4b71Sopenharmony_ciIf the asset has never been edited, an empty string is returned. 2431e41f4b71Sopenharmony_ci 2432e41f4b71Sopenharmony_ci**System API**: This is a system API. 2433e41f4b71Sopenharmony_ci 2434e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.READ_IMAGEVIDEO 2435e41f4b71Sopenharmony_ci 2436e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 2437e41f4b71Sopenharmony_ci 2438e41f4b71Sopenharmony_ci**Parameters** 2439e41f4b71Sopenharmony_ci 2440e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 2441e41f4b71Sopenharmony_ci| ---------- | ------- | ---- | ---------------------------------- | 2442e41f4b71Sopenharmony_ci| callback | AsyncCallback<string> | Yes | Callback invoked to return the edit data obtained.| 2443e41f4b71Sopenharmony_ci 2444e41f4b71Sopenharmony_ci**Error codes** 2445e41f4b71Sopenharmony_ci 2446e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 2447e41f4b71Sopenharmony_ci 2448e41f4b71Sopenharmony_ci| ID| Error Message| 2449e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 2450e41f4b71Sopenharmony_ci| 201 | Permission denied. | 2451e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 2452e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 2453e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 2454e41f4b71Sopenharmony_ci 2455e41f4b71Sopenharmony_ci**Example** 2456e41f4b71Sopenharmony_ci 2457e41f4b71Sopenharmony_ci```ts 2458e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 2459e41f4b71Sopenharmony_ci 2460e41f4b71Sopenharmony_ciasync function example() { 2461e41f4b71Sopenharmony_ci try { 2462e41f4b71Sopenharmony_ci console.info('requestEditDataCallbackDemo') 2463e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 2464e41f4b71Sopenharmony_ci let fetchOptions: photoAccessHelper.FetchOptions = { 2465e41f4b71Sopenharmony_ci fetchColumns: [], 2466e41f4b71Sopenharmony_ci predicates: predicates 2467e41f4b71Sopenharmony_ci }; 2468e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOptions); 2469e41f4b71Sopenharmony_ci let photoAsset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject(); 2470e41f4b71Sopenharmony_ci photoAsset.requestEditData((err, editdata) => { 2471e41f4b71Sopenharmony_ci if (err === undefined) { 2472e41f4b71Sopenharmony_ci console.info('Editdata is ' + editdata); 2473e41f4b71Sopenharmony_ci } else { 2474e41f4b71Sopenharmony_ci console.error(`requestEditData failed with error: ${err.code}, ${err.message}`); 2475e41f4b71Sopenharmony_ci } 2476e41f4b71Sopenharmony_ci }); 2477e41f4b71Sopenharmony_ci } catch (err) { 2478e41f4b71Sopenharmony_ci console.error(`requestEditDataCallbackDemo failed with error: ${err.code}, ${err.message}`); 2479e41f4b71Sopenharmony_ci } 2480e41f4b71Sopenharmony_ci} 2481e41f4b71Sopenharmony_ci``` 2482e41f4b71Sopenharmony_ci 2483e41f4b71Sopenharmony_ci### requestEditData<sup>11+</sup> 2484e41f4b71Sopenharmony_ci 2485e41f4b71Sopenharmony_cirequestEditData(): Promise<string> 2486e41f4b71Sopenharmony_ci 2487e41f4b71Sopenharmony_ciObtains the edit data of this image or video asset. This API uses a promise to return the result. 2488e41f4b71Sopenharmony_ci 2489e41f4b71Sopenharmony_ciIf the asset has never been edited, an empty string is returned. 2490e41f4b71Sopenharmony_ci 2491e41f4b71Sopenharmony_ci**System API**: This is a system API. 2492e41f4b71Sopenharmony_ci 2493e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.READ_IMAGEVIDEO 2494e41f4b71Sopenharmony_ci 2495e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 2496e41f4b71Sopenharmony_ci 2497e41f4b71Sopenharmony_ci**Return value** 2498e41f4b71Sopenharmony_ci 2499e41f4b71Sopenharmony_ci| Type | Description | 2500e41f4b71Sopenharmony_ci| --------------------------------------- | ----------------- | 2501e41f4b71Sopenharmony_ci|Promise<string> | Promise used to return the edit data obtained.| 2502e41f4b71Sopenharmony_ci 2503e41f4b71Sopenharmony_ci 2504e41f4b71Sopenharmony_ci**Error codes** 2505e41f4b71Sopenharmony_ci 2506e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 2507e41f4b71Sopenharmony_ci 2508e41f4b71Sopenharmony_ci| ID| Error Message| 2509e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 2510e41f4b71Sopenharmony_ci| 201 | Permission denied. | 2511e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 2512e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 2513e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 2514e41f4b71Sopenharmony_ci 2515e41f4b71Sopenharmony_ci**Example** 2516e41f4b71Sopenharmony_ci 2517e41f4b71Sopenharmony_ci```ts 2518e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 2519e41f4b71Sopenharmony_ci 2520e41f4b71Sopenharmony_ciasync function example() { 2521e41f4b71Sopenharmony_ci try { 2522e41f4b71Sopenharmony_ci console.info('requestEditDataPromiseDemo') 2523e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 2524e41f4b71Sopenharmony_ci let fetchOptions: photoAccessHelper.FetchOptions = { 2525e41f4b71Sopenharmony_ci fetchColumns: [], 2526e41f4b71Sopenharmony_ci predicates: predicates 2527e41f4b71Sopenharmony_ci }; 2528e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOptions); 2529e41f4b71Sopenharmony_ci let photoAsset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject(); 2530e41f4b71Sopenharmony_ci let editdata: string = await photoAsset.requestEditData(); 2531e41f4b71Sopenharmony_ci console.info('Editdata is ' + editdata); 2532e41f4b71Sopenharmony_ci } catch (err) { 2533e41f4b71Sopenharmony_ci console.error(`requestEditDataPromiseDemo failed with error: ${err.code}, ${err.message}`); 2534e41f4b71Sopenharmony_ci } 2535e41f4b71Sopenharmony_ci} 2536e41f4b71Sopenharmony_ci``` 2537e41f4b71Sopenharmony_ci 2538e41f4b71Sopenharmony_ci### getEditData<sup>11+</sup> 2539e41f4b71Sopenharmony_ci 2540e41f4b71Sopenharmony_cigetEditData(): Promise<MediaAssetEditData> 2541e41f4b71Sopenharmony_ci 2542e41f4b71Sopenharmony_ciObtains the edited data of this asset. This API uses a promise to return the result. 2543e41f4b71Sopenharmony_ci 2544e41f4b71Sopenharmony_ciIf the asset has never been edited, an empty string is returned. 2545e41f4b71Sopenharmony_ci 2546e41f4b71Sopenharmony_ci**System API**: This is a system API. 2547e41f4b71Sopenharmony_ci 2548e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.READ_IMAGEVIDEO 2549e41f4b71Sopenharmony_ci 2550e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 2551e41f4b71Sopenharmony_ci 2552e41f4b71Sopenharmony_ci**Return value** 2553e41f4b71Sopenharmony_ci 2554e41f4b71Sopenharmony_ci| Type | Description | 2555e41f4b71Sopenharmony_ci| --------------------------------------- | ----------------- | 2556e41f4b71Sopenharmony_ci|Promise<[MediaAssetEditData](#mediaasseteditdata11)> | Promise used to return the edited asset data.| 2557e41f4b71Sopenharmony_ci 2558e41f4b71Sopenharmony_ci**Error codes** 2559e41f4b71Sopenharmony_ci 2560e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 2561e41f4b71Sopenharmony_ci 2562e41f4b71Sopenharmony_ci| ID| Error Message| 2563e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 2564e41f4b71Sopenharmony_ci| 201 | Permission denied. | 2565e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 2566e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 2567e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 2568e41f4b71Sopenharmony_ci 2569e41f4b71Sopenharmony_ci**Example** 2570e41f4b71Sopenharmony_ci 2571e41f4b71Sopenharmony_ci```ts 2572e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 2573e41f4b71Sopenharmony_ci 2574e41f4b71Sopenharmony_ciasync function example() { 2575e41f4b71Sopenharmony_ci try { 2576e41f4b71Sopenharmony_ci console.info('getEditDataDemo') 2577e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 2578e41f4b71Sopenharmony_ci let fetchOptions: photoAccessHelper.FetchOptions = { 2579e41f4b71Sopenharmony_ci fetchColumns: [], 2580e41f4b71Sopenharmony_ci predicates: predicates 2581e41f4b71Sopenharmony_ci }; 2582e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOptions); 2583e41f4b71Sopenharmony_ci let photoAsset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject(); 2584e41f4b71Sopenharmony_ci let assetEditData: photoAccessHelper.MediaAssetEditData = await photoAsset.getEditData(); 2585e41f4b71Sopenharmony_ci let data: string = assetEditData.data; 2586e41f4b71Sopenharmony_ci console.info('edit data is ' + data); 2587e41f4b71Sopenharmony_ci } catch (err) { 2588e41f4b71Sopenharmony_ci console.error(`getEditDataDemo failed with error: ${err.code}, ${err.message}`); 2589e41f4b71Sopenharmony_ci } 2590e41f4b71Sopenharmony_ci} 2591e41f4b71Sopenharmony_ci``` 2592e41f4b71Sopenharmony_ci 2593e41f4b71Sopenharmony_ci### requestSource<sup>11+</sup> 2594e41f4b71Sopenharmony_ci 2595e41f4b71Sopenharmony_cirequestSource(callback: AsyncCallback<number>): void 2596e41f4b71Sopenharmony_ci 2597e41f4b71Sopenharmony_ciOpens the source file to obtain the FD. This API uses an asynchronous callback to return the result. 2598e41f4b71Sopenharmony_ci 2599e41f4b71Sopenharmony_ci**System API**: This is a system API. 2600e41f4b71Sopenharmony_ci 2601e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.READ_IMAGEVIDEO 2602e41f4b71Sopenharmony_ci 2603e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 2604e41f4b71Sopenharmony_ci 2605e41f4b71Sopenharmony_ci**Parameters** 2606e41f4b71Sopenharmony_ci 2607e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 2608e41f4b71Sopenharmony_ci| ---------- | ------- | ---- | ---------------------------------- | 2609e41f4b71Sopenharmony_ci| callback | AsyncCallback<number> | Yes | Callback invoked to return the FD.| 2610e41f4b71Sopenharmony_ci 2611e41f4b71Sopenharmony_ci**Error codes** 2612e41f4b71Sopenharmony_ci 2613e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 2614e41f4b71Sopenharmony_ci 2615e41f4b71Sopenharmony_ci| ID| Error Message| 2616e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 2617e41f4b71Sopenharmony_ci| 201 | Permission denied. | 2618e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 2619e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 2620e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 2621e41f4b71Sopenharmony_ci 2622e41f4b71Sopenharmony_ci**Example** 2623e41f4b71Sopenharmony_ci 2624e41f4b71Sopenharmony_ci```ts 2625e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 2626e41f4b71Sopenharmony_ci 2627e41f4b71Sopenharmony_ciasync function example() { 2628e41f4b71Sopenharmony_ci try { 2629e41f4b71Sopenharmony_ci console.info('requsetSourceCallbackDemo') 2630e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 2631e41f4b71Sopenharmony_ci let fetchOptions: photoAccessHelper.FetchOptions = { 2632e41f4b71Sopenharmony_ci fetchColumns: [], 2633e41f4b71Sopenharmony_ci predicates: predicates 2634e41f4b71Sopenharmony_ci }; 2635e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOptions); 2636e41f4b71Sopenharmony_ci let photoAsset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject(); 2637e41f4b71Sopenharmony_ci photoAsset.requestSource((err, fd) => { 2638e41f4b71Sopenharmony_ci if (err === undefined) { 2639e41f4b71Sopenharmony_ci console.info('Source fd is ' + fd); 2640e41f4b71Sopenharmony_ci } else { 2641e41f4b71Sopenharmony_ci console.error(`requestSource failed with error: ${err.code}, ${err.message}`); 2642e41f4b71Sopenharmony_ci } 2643e41f4b71Sopenharmony_ci }); 2644e41f4b71Sopenharmony_ci } catch (err) { 2645e41f4b71Sopenharmony_ci console.error(`requsetSourceCallbackDemo failed with error: ${err.code}, ${err.message}`); 2646e41f4b71Sopenharmony_ci } 2647e41f4b71Sopenharmony_ci} 2648e41f4b71Sopenharmony_ci``` 2649e41f4b71Sopenharmony_ci 2650e41f4b71Sopenharmony_ci### requestSource<sup>11+</sup> 2651e41f4b71Sopenharmony_ci 2652e41f4b71Sopenharmony_cirequestSource(): Promise<number> 2653e41f4b71Sopenharmony_ci 2654e41f4b71Sopenharmony_ciOpens the source file to obtain the FD. This API uses a promise to return the result. 2655e41f4b71Sopenharmony_ci 2656e41f4b71Sopenharmony_ci**System API**: This is a system API. 2657e41f4b71Sopenharmony_ci 2658e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.READ_IMAGEVIDEO 2659e41f4b71Sopenharmony_ci 2660e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 2661e41f4b71Sopenharmony_ci 2662e41f4b71Sopenharmony_ci**Return value** 2663e41f4b71Sopenharmony_ci 2664e41f4b71Sopenharmony_ci| Type | Description | 2665e41f4b71Sopenharmony_ci| --------------------------------------- | ----------------- | 2666e41f4b71Sopenharmony_ci|Promise<number> | Promise used to return the FD.| 2667e41f4b71Sopenharmony_ci 2668e41f4b71Sopenharmony_ci**Error codes** 2669e41f4b71Sopenharmony_ci 2670e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 2671e41f4b71Sopenharmony_ci 2672e41f4b71Sopenharmony_ci| ID| Error Message| 2673e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 2674e41f4b71Sopenharmony_ci| 201 | Permission denied. | 2675e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 2676e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 2677e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 2678e41f4b71Sopenharmony_ci 2679e41f4b71Sopenharmony_ci**Example** 2680e41f4b71Sopenharmony_ci 2681e41f4b71Sopenharmony_ci```ts 2682e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 2683e41f4b71Sopenharmony_ci 2684e41f4b71Sopenharmony_ciasync function example() { 2685e41f4b71Sopenharmony_ci try { 2686e41f4b71Sopenharmony_ci console.info('requsetSourcePromiseDemo') 2687e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 2688e41f4b71Sopenharmony_ci let fetchOptions: photoAccessHelper.FetchOptions = { 2689e41f4b71Sopenharmony_ci fetchColumns: [], 2690e41f4b71Sopenharmony_ci predicates: predicates 2691e41f4b71Sopenharmony_ci }; 2692e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOptions); 2693e41f4b71Sopenharmony_ci let photoAsset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject(); 2694e41f4b71Sopenharmony_ci let fd = await photoAsset.requestSource(); 2695e41f4b71Sopenharmony_ci console.info('Source fd is ' + fd); 2696e41f4b71Sopenharmony_ci } catch (err) { 2697e41f4b71Sopenharmony_ci console.error(`requsetSourcePromiseDemo failed with error: ${err.code}, ${err.message}`); 2698e41f4b71Sopenharmony_ci } 2699e41f4b71Sopenharmony_ci} 2700e41f4b71Sopenharmony_ci``` 2701e41f4b71Sopenharmony_ci 2702e41f4b71Sopenharmony_ci### commitEditedAsset<sup>11+</sup> 2703e41f4b71Sopenharmony_ci 2704e41f4b71Sopenharmony_cicommitEditedAsset(editData: string, uri: string, callback: AsyncCallback<void>) 2705e41f4b71Sopenharmony_ci 2706e41f4b71Sopenharmony_ciCommits the edited image or video asset. This API uses an asynchronous callback to return the result. 2707e41f4b71Sopenharmony_ci 2708e41f4b71Sopenharmony_ciThe edited file is transferred to the media library based on the URI, which is **FileUri** of the edited file in the application sandbox directory. For details, see [File URI](../apis-core-file-kit/js-apis-file-fileuri.md). 2709e41f4b71Sopenharmony_ci 2710e41f4b71Sopenharmony_ci**NOTE**<br>The commit operation overwrites the previous edited data. 2711e41f4b71Sopenharmony_ci 2712e41f4b71Sopenharmony_ci**System API**: This is a system API. 2713e41f4b71Sopenharmony_ci 2714e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.WRITE_IMAGEVIDEO 2715e41f4b71Sopenharmony_ci 2716e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 2717e41f4b71Sopenharmony_ci 2718e41f4b71Sopenharmony_ci**Parameters** 2719e41f4b71Sopenharmony_ci 2720e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 2721e41f4b71Sopenharmony_ci| ---------- | ------- | ---- | ---------------------------------- | 2722e41f4b71Sopenharmony_ci| editData | string | Yes | New data to commit.| 2723e41f4b71Sopenharmony_ci| uri | string | Yes | URI of the committed image or video in the application sandbox.| 2724e41f4b71Sopenharmony_ci| callback | AsyncCallback<void> | Yes | Callback that returns no value.| 2725e41f4b71Sopenharmony_ci 2726e41f4b71Sopenharmony_ci**Error codes** 2727e41f4b71Sopenharmony_ci 2728e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 2729e41f4b71Sopenharmony_ci 2730e41f4b71Sopenharmony_ci| ID| Error Message| 2731e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 2732e41f4b71Sopenharmony_ci| 201 | Permission denied. | 2733e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 2734e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 2735e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 2736e41f4b71Sopenharmony_ci 2737e41f4b71Sopenharmony_ci**Example** 2738e41f4b71Sopenharmony_ci 2739e41f4b71Sopenharmony_ci```ts 2740e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 2741e41f4b71Sopenharmony_ci 2742e41f4b71Sopenharmony_ciasync function example() { 2743e41f4b71Sopenharmony_ci try { 2744e41f4b71Sopenharmony_ci console.info('commitEditedAssetCallbackDemo') 2745e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 2746e41f4b71Sopenharmony_ci let fetchOptions: photoAccessHelper.FetchOptions = { 2747e41f4b71Sopenharmony_ci fetchColumns: [], 2748e41f4b71Sopenharmony_ci predicates: predicates 2749e41f4b71Sopenharmony_ci }; 2750e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOptions); 2751e41f4b71Sopenharmony_ci let photoAsset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject(); 2752e41f4b71Sopenharmony_ci let editData = '123456'; 2753e41f4b71Sopenharmony_ci let uri = 'file://com.example.temptest/data/storage/el2/base/haps/entry/files/test.jpg'; 2754e41f4b71Sopenharmony_ci photoAsset.commitEditedAsset(editData, uri, (err) => { 2755e41f4b71Sopenharmony_ci if (err === undefined) { 2756e41f4b71Sopenharmony_ci console.info('commitEditedAsset is successful'); 2757e41f4b71Sopenharmony_ci } else { 2758e41f4b71Sopenharmony_ci console.error(`commitEditedAsset failed with error: ${err.code}, ${err.message}`); 2759e41f4b71Sopenharmony_ci } 2760e41f4b71Sopenharmony_ci }); 2761e41f4b71Sopenharmony_ci } catch (err) { 2762e41f4b71Sopenharmony_ci console.error(`commitEditedAssetCallbackDemo failed with error: ${err.code}, ${err.message}`); 2763e41f4b71Sopenharmony_ci } 2764e41f4b71Sopenharmony_ci} 2765e41f4b71Sopenharmony_ci``` 2766e41f4b71Sopenharmony_ci 2767e41f4b71Sopenharmony_ci### commitEditedAsset<sup>11+</sup> 2768e41f4b71Sopenharmony_ci 2769e41f4b71Sopenharmony_cicommitEditedAsset(editData: string, uri: string): Promise<void> 2770e41f4b71Sopenharmony_ci 2771e41f4b71Sopenharmony_ciCommits the edited image or video asset. This API uses a promise to return the result. 2772e41f4b71Sopenharmony_ci 2773e41f4b71Sopenharmony_ciThe edited file is transferred to the media library based on the URI, which is **FileUri** of the edited file in the application sandbox directory. For details, see [File URI](../apis-core-file-kit/js-apis-file-fileuri.md). 2774e41f4b71Sopenharmony_ci 2775e41f4b71Sopenharmony_ci**NOTE**<br>The commit operation overwrites the previous edited data. 2776e41f4b71Sopenharmony_ci 2777e41f4b71Sopenharmony_ci**System API**: This is a system API. 2778e41f4b71Sopenharmony_ci 2779e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.WRITE_IMAGEVIDEO 2780e41f4b71Sopenharmony_ci 2781e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 2782e41f4b71Sopenharmony_ci 2783e41f4b71Sopenharmony_ci**Parameters** 2784e41f4b71Sopenharmony_ci 2785e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 2786e41f4b71Sopenharmony_ci| ---------- | ------- | ---- | ---------------------------------- | 2787e41f4b71Sopenharmony_ci| editData | string | Yes | New data to commit.| 2788e41f4b71Sopenharmony_ci| uri | string | Yes | URI of the committed image or video in the application sandbox.| 2789e41f4b71Sopenharmony_ci 2790e41f4b71Sopenharmony_ci**Return value** 2791e41f4b71Sopenharmony_ci 2792e41f4b71Sopenharmony_ci| Type | Description | 2793e41f4b71Sopenharmony_ci| --------------------------------------- | ----------------- | 2794e41f4b71Sopenharmony_ci|Promise<void> | Promise that returns no value.| 2795e41f4b71Sopenharmony_ci 2796e41f4b71Sopenharmony_ci**Error codes** 2797e41f4b71Sopenharmony_ci 2798e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 2799e41f4b71Sopenharmony_ci 2800e41f4b71Sopenharmony_ci| ID| Error Message| 2801e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 2802e41f4b71Sopenharmony_ci| 201 | Permission denied. | 2803e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 2804e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 2805e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 2806e41f4b71Sopenharmony_ci 2807e41f4b71Sopenharmony_ci**Example** 2808e41f4b71Sopenharmony_ci 2809e41f4b71Sopenharmony_ci```ts 2810e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 2811e41f4b71Sopenharmony_ci 2812e41f4b71Sopenharmony_ciasync function example() { 2813e41f4b71Sopenharmony_ci try { 2814e41f4b71Sopenharmony_ci console.info('commitEditedAssetPromiseDemo') 2815e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 2816e41f4b71Sopenharmony_ci let fetchOptions: photoAccessHelper.FetchOptions = { 2817e41f4b71Sopenharmony_ci fetchColumns: [], 2818e41f4b71Sopenharmony_ci predicates: predicates 2819e41f4b71Sopenharmony_ci }; 2820e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOptions); 2821e41f4b71Sopenharmony_ci let photoAsset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject(); 2822e41f4b71Sopenharmony_ci let editData = '123456'; 2823e41f4b71Sopenharmony_ci let uri = 'file://com.example.temptest/data/storage/el2/base/haps/entry/files/test.jpg'; 2824e41f4b71Sopenharmony_ci await photoAsset.commitEditedAsset(editData, uri); 2825e41f4b71Sopenharmony_ci console.info('commitEditedAsset is successful'); 2826e41f4b71Sopenharmony_ci } catch (err) { 2827e41f4b71Sopenharmony_ci console.error(`commitEditedAssetPromiseDemo failed with error: ${err.code}, ${err.message}`); 2828e41f4b71Sopenharmony_ci } 2829e41f4b71Sopenharmony_ci} 2830e41f4b71Sopenharmony_ci``` 2831e41f4b71Sopenharmony_ci 2832e41f4b71Sopenharmony_ci### revertToOriginal<sup>11+</sup> 2833e41f4b71Sopenharmony_ci 2834e41f4b71Sopenharmony_cirevertToOriginal(callback: AsyncCallback<void>) 2835e41f4b71Sopenharmony_ci 2836e41f4b71Sopenharmony_ciReverts to the state of the file before being edited. This API uses an asynchronous callback to return the result. 2837e41f4b71Sopenharmony_ci 2838e41f4b71Sopenharmony_ci**NOTE**<br>This API deletes the edited data and edited image or video asset, and the deleted data cannot be restored. Exercise caution when using this API. 2839e41f4b71Sopenharmony_ci 2840e41f4b71Sopenharmony_ci**System API**: This is a system API. 2841e41f4b71Sopenharmony_ci 2842e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.WRITE_IMAGEVIDEO 2843e41f4b71Sopenharmony_ci 2844e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 2845e41f4b71Sopenharmony_ci 2846e41f4b71Sopenharmony_ci**Parameters** 2847e41f4b71Sopenharmony_ci 2848e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 2849e41f4b71Sopenharmony_ci| ---------- | ------- | ---- | ---------------------------------- | 2850e41f4b71Sopenharmony_ci| callback | AsyncCallback<void> | Yes | Callback that returns no value.| 2851e41f4b71Sopenharmony_ci 2852e41f4b71Sopenharmony_ci**Error codes** 2853e41f4b71Sopenharmony_ci 2854e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 2855e41f4b71Sopenharmony_ci 2856e41f4b71Sopenharmony_ci| ID| Error Message| 2857e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 2858e41f4b71Sopenharmony_ci| 201 | Permission denied. | 2859e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 2860e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 2861e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 2862e41f4b71Sopenharmony_ci 2863e41f4b71Sopenharmony_ci**Example** 2864e41f4b71Sopenharmony_ci 2865e41f4b71Sopenharmony_ci```ts 2866e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 2867e41f4b71Sopenharmony_ci 2868e41f4b71Sopenharmony_ciasync function example() { 2869e41f4b71Sopenharmony_ci try { 2870e41f4b71Sopenharmony_ci console.info('revertToOriginalCallbackDemo') 2871e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 2872e41f4b71Sopenharmony_ci let fetchOptions: photoAccessHelper.FetchOptions = { 2873e41f4b71Sopenharmony_ci fetchColumns: [], 2874e41f4b71Sopenharmony_ci predicates: predicates 2875e41f4b71Sopenharmony_ci }; 2876e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOptions); 2877e41f4b71Sopenharmony_ci let photoAsset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject(); 2878e41f4b71Sopenharmony_ci photoAsset.revertToOriginal((err) => { 2879e41f4b71Sopenharmony_ci if (err === undefined) { 2880e41f4b71Sopenharmony_ci console.info('revertToOriginal is successful'); 2881e41f4b71Sopenharmony_ci } else { 2882e41f4b71Sopenharmony_ci console.error(`revertToOriginal failed with error: ${err.code}, ${err.message}`); 2883e41f4b71Sopenharmony_ci } 2884e41f4b71Sopenharmony_ci }); 2885e41f4b71Sopenharmony_ci } catch (err) { 2886e41f4b71Sopenharmony_ci console.error(`revertToOriginalCallbackDemo failed with error: ${err.code}, ${err.message}`); 2887e41f4b71Sopenharmony_ci } 2888e41f4b71Sopenharmony_ci} 2889e41f4b71Sopenharmony_ci``` 2890e41f4b71Sopenharmony_ci 2891e41f4b71Sopenharmony_ci### revertToOriginal<sup>11+</sup> 2892e41f4b71Sopenharmony_ci 2893e41f4b71Sopenharmony_cirevertToOriginal(): Promise<void> 2894e41f4b71Sopenharmony_ci 2895e41f4b71Sopenharmony_ciReverts to the state of the file before being edited. This API uses a promise to return the result. 2896e41f4b71Sopenharmony_ci 2897e41f4b71Sopenharmony_ci**NOTE**<br>This API deletes the edited data and edited image or video asset, and the deleted data cannot be restored. Exercise caution when using this API. 2898e41f4b71Sopenharmony_ci 2899e41f4b71Sopenharmony_ci**System API**: This is a system API. 2900e41f4b71Sopenharmony_ci 2901e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.WRITE_IMAGEVIDEO 2902e41f4b71Sopenharmony_ci 2903e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 2904e41f4b71Sopenharmony_ci 2905e41f4b71Sopenharmony_ci**Return value** 2906e41f4b71Sopenharmony_ci 2907e41f4b71Sopenharmony_ci| Type | Description | 2908e41f4b71Sopenharmony_ci| --------------------------------------- | ----------------- | 2909e41f4b71Sopenharmony_ci|Promise<string> | Promise that returns no value.| 2910e41f4b71Sopenharmony_ci 2911e41f4b71Sopenharmony_ci**Error codes** 2912e41f4b71Sopenharmony_ci 2913e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 2914e41f4b71Sopenharmony_ci 2915e41f4b71Sopenharmony_ci| ID| Error Message| 2916e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 2917e41f4b71Sopenharmony_ci| 201 | Permission denied. | 2918e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 2919e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 2920e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 2921e41f4b71Sopenharmony_ci 2922e41f4b71Sopenharmony_ci**Example** 2923e41f4b71Sopenharmony_ci 2924e41f4b71Sopenharmony_ci```ts 2925e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 2926e41f4b71Sopenharmony_ci 2927e41f4b71Sopenharmony_ciasync function example() { 2928e41f4b71Sopenharmony_ci try { 2929e41f4b71Sopenharmony_ci console.info('revertToOriginalPromiseDemo') 2930e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 2931e41f4b71Sopenharmony_ci let fetchOptions: photoAccessHelper.FetchOptions = { 2932e41f4b71Sopenharmony_ci fetchColumns: [], 2933e41f4b71Sopenharmony_ci predicates: predicates 2934e41f4b71Sopenharmony_ci }; 2935e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOptions); 2936e41f4b71Sopenharmony_ci let photoAsset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject(); 2937e41f4b71Sopenharmony_ci photoAsset.revertToOriginal(); 2938e41f4b71Sopenharmony_ci console.info('revertToOriginal is successful'); 2939e41f4b71Sopenharmony_ci } catch (err) { 2940e41f4b71Sopenharmony_ci console.error(`revertToOriginalPromiseDemo failed with error: ${err.code}, ${err.message}`); 2941e41f4b71Sopenharmony_ci } 2942e41f4b71Sopenharmony_ci} 2943e41f4b71Sopenharmony_ci``` 2944e41f4b71Sopenharmony_ci 2945e41f4b71Sopenharmony_ci### requestPhoto<sup>11+</sup> 2946e41f4b71Sopenharmony_ci 2947e41f4b71Sopenharmony_cirequestPhoto(callback: AsyncCallback<image.PixelMap>): string 2948e41f4b71Sopenharmony_ci 2949e41f4b71Sopenharmony_ciObtains the quick thumbnail and quality thumbnail of this asset. This API uses an asynchronous callback to return the result. 2950e41f4b71Sopenharmony_ci 2951e41f4b71Sopenharmony_ciThe size of a quick thumbnail is 128 x 128, and the size of a quality thumbnail is 256 x 256. After this API is called, the callback will be invoked twice to return a quick thumbnail and a quality thumbnail in sequence. 2952e41f4b71Sopenharmony_ci 2953e41f4b71Sopenharmony_ci**System API**: This is a system API. 2954e41f4b71Sopenharmony_ci 2955e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.READ_IMAGEVIDEO 2956e41f4b71Sopenharmony_ci 2957e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 2958e41f4b71Sopenharmony_ci 2959e41f4b71Sopenharmony_ci**Parameters** 2960e41f4b71Sopenharmony_ci 2961e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 2962e41f4b71Sopenharmony_ci| ---------- | ------- | ---- | ---------------------------------- | 2963e41f4b71Sopenharmony_ci| callback | AsyncCallback<[image.PixelMap](../apis-image-kit/js-apis-image.md#pixelmap7)> | Yes | Callback invoked twice to return the quick and quality thumbnails obtained.| 2964e41f4b71Sopenharmony_ci 2965e41f4b71Sopenharmony_ci**Return value** 2966e41f4b71Sopenharmony_ci 2967e41f4b71Sopenharmony_ci| Type | Description | 2968e41f4b71Sopenharmony_ci| --------------------------------------- | ----------------- | 2969e41f4b71Sopenharmony_ci| string | ID of the task for obtaining thumbnails.| 2970e41f4b71Sopenharmony_ci 2971e41f4b71Sopenharmony_ci**Error codes** 2972e41f4b71Sopenharmony_ci 2973e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 2974e41f4b71Sopenharmony_ci 2975e41f4b71Sopenharmony_ci| ID| Error Message| 2976e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 2977e41f4b71Sopenharmony_ci| 201 | Permission verification failed, usually the result returned by VerifyAccessToken. | 2978e41f4b71Sopenharmony_ci| 202 | Permission verification failed, application which is not a system application uses system API. | 2979e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 2980e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 2981e41f4b71Sopenharmony_ci 2982e41f4b71Sopenharmony_ci**Example** 2983e41f4b71Sopenharmony_ci 2984e41f4b71Sopenharmony_ci```ts 2985e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 2986e41f4b71Sopenharmony_ciimport { image } from '@kit.ImageKit'; 2987e41f4b71Sopenharmony_ci 2988e41f4b71Sopenharmony_ciasync function example() { 2989e41f4b71Sopenharmony_ci try { 2990e41f4b71Sopenharmony_ci console.info('requestPhotoDemo') 2991e41f4b71Sopenharmony_ci let options: photoAccessHelper.FetchOptions = { 2992e41f4b71Sopenharmony_ci fetchColumns: [], 2993e41f4b71Sopenharmony_ci predicates: new dataSharePredicates.DataSharePredicates() 2994e41f4b71Sopenharmony_ci } 2995e41f4b71Sopenharmony_ci let fetchResult = await phAccessHelper.getAssets(options); 2996e41f4b71Sopenharmony_ci let photoAsset = await fetchResult.getFirstObject(); 2997e41f4b71Sopenharmony_ci let taskId: string = photoAsset.requestPhoto(async (err, pixel: image.PixelMap) => { 2998e41f4b71Sopenharmony_ci if (err === undefined) { 2999e41f4b71Sopenharmony_ci console.info("requestSource in, size: " + JSON.stringify((await pixel.getImageInfo()).size)) 3000e41f4b71Sopenharmony_ci } else { 3001e41f4b71Sopenharmony_ci console.error(`requestSource failed with error: ${err.code}, ${err.message}`); 3002e41f4b71Sopenharmony_ci } 3003e41f4b71Sopenharmony_ci }) 3004e41f4b71Sopenharmony_ci console.info('requestSource taskId: ' + taskId) 3005e41f4b71Sopenharmony_ci } catch (err) { 3006e41f4b71Sopenharmony_ci console.error(`requestPhotoDemo failed with error: ${err.code}, ${err.message}`); 3007e41f4b71Sopenharmony_ci } 3008e41f4b71Sopenharmony_ci} 3009e41f4b71Sopenharmony_ci``` 3010e41f4b71Sopenharmony_ci 3011e41f4b71Sopenharmony_ci### requestPhoto<sup>11+</sup> 3012e41f4b71Sopenharmony_ci 3013e41f4b71Sopenharmony_cirequestPhoto(options: RequestPhotoOptions, callback: AsyncCallback<image.PixelMap>): string 3014e41f4b71Sopenharmony_ci 3015e41f4b71Sopenharmony_ciObtains the thumbnails of an asset based on the specified options. This API uses an asynchronous callback to return the result. 3016e41f4b71Sopenharmony_ci 3017e41f4b71Sopenharmony_ci**System API**: This is a system API. 3018e41f4b71Sopenharmony_ci 3019e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.READ_IMAGEVIDEO 3020e41f4b71Sopenharmony_ci 3021e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 3022e41f4b71Sopenharmony_ci 3023e41f4b71Sopenharmony_ci**Parameters** 3024e41f4b71Sopenharmony_ci 3025e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 3026e41f4b71Sopenharmony_ci| ---------- | ------- | ---- | ---------------------------------- | 3027e41f4b71Sopenharmony_ci| options | [RequestPhotoOptions](#requestphotooptions11) | Yes | Options for obtaining the asset thumbnail.| 3028e41f4b71Sopenharmony_ci| callback | AsyncCallback<[image.PixelMap](../apis-image-kit/js-apis-image.md#pixelmap7)> | Yes | Callback invoked to return the thumbnails obtained. The callback may be invoked more than once, depending on **options**.| 3029e41f4b71Sopenharmony_ci 3030e41f4b71Sopenharmony_ci**Return value** 3031e41f4b71Sopenharmony_ci 3032e41f4b71Sopenharmony_ci| Type | Description | 3033e41f4b71Sopenharmony_ci| --------------------------------------- | ----------------- | 3034e41f4b71Sopenharmony_ci| string | ID of the task for obtaining thumbnails.| 3035e41f4b71Sopenharmony_ci 3036e41f4b71Sopenharmony_ci**Error codes** 3037e41f4b71Sopenharmony_ci 3038e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 3039e41f4b71Sopenharmony_ci 3040e41f4b71Sopenharmony_ci| ID| Error Message| 3041e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 3042e41f4b71Sopenharmony_ci| 201 | Permission verification failed, usually the result returned by VerifyAccessToken. | 3043e41f4b71Sopenharmony_ci| 202 | Permission verification failed, application which is not a system application uses system API. | 3044e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 3045e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 3046e41f4b71Sopenharmony_ci 3047e41f4b71Sopenharmony_ci**Example** 3048e41f4b71Sopenharmony_ci 3049e41f4b71Sopenharmony_ci```ts 3050e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 3051e41f4b71Sopenharmony_ciimport { image } from '@kit.ImageKit'; 3052e41f4b71Sopenharmony_ci 3053e41f4b71Sopenharmony_ciasync function example() { 3054e41f4b71Sopenharmony_ci try { 3055e41f4b71Sopenharmony_ci console.info('requestPhotoDemo') 3056e41f4b71Sopenharmony_ci let options: photoAccessHelper.FetchOptions = { 3057e41f4b71Sopenharmony_ci fetchColumns: [], 3058e41f4b71Sopenharmony_ci predicates: new dataSharePredicates.DataSharePredicates() 3059e41f4b71Sopenharmony_ci } 3060e41f4b71Sopenharmony_ci let fetchResult = await phAccessHelper.getAssets(options); 3061e41f4b71Sopenharmony_ci let photoAsset = await fetchResult.getFirstObject(); 3062e41f4b71Sopenharmony_ci let taskId: string = photoAsset.requestPhoto({ 3063e41f4b71Sopenharmony_ci "size": { 3064e41f4b71Sopenharmony_ci "width": 256, 3065e41f4b71Sopenharmony_ci "height": 256 3066e41f4b71Sopenharmony_ci }, 3067e41f4b71Sopenharmony_ci "requestPhotoType": photoAccessHelper.RequestPhotoType.REQUEST_ALL_THUMBNAILS 3068e41f4b71Sopenharmony_ci }, async (err, pixel: image.PixelMap) => { 3069e41f4b71Sopenharmony_ci if (err === undefined) { 3070e41f4b71Sopenharmony_ci console.info("requestSource in, size: " + JSON.stringify((await pixel.getImageInfo()).size)) 3071e41f4b71Sopenharmony_ci } else { 3072e41f4b71Sopenharmony_ci console.error(`requestSource failed with error: ${err.code}, ${err.message}`); 3073e41f4b71Sopenharmony_ci } 3074e41f4b71Sopenharmony_ci }) 3075e41f4b71Sopenharmony_ci console.info('requestSource taskId: ' + taskId) 3076e41f4b71Sopenharmony_ci } catch (err) { 3077e41f4b71Sopenharmony_ci console.error(`requestPhotoDemo failed with error: ${err.code}, ${err.message}`); 3078e41f4b71Sopenharmony_ci } 3079e41f4b71Sopenharmony_ci} 3080e41f4b71Sopenharmony_ci``` 3081e41f4b71Sopenharmony_ci 3082e41f4b71Sopenharmony_ci### cancelPhotoRequest<sup>11+</sup> 3083e41f4b71Sopenharmony_ci 3084e41f4b71Sopenharmony_cicancelPhotoRequest(requestId: string): void 3085e41f4b71Sopenharmony_ci 3086e41f4b71Sopenharmony_ciCancels a task for obtaining media thumbnails. 3087e41f4b71Sopenharmony_ci 3088e41f4b71Sopenharmony_ci**System API**: This is a system API. 3089e41f4b71Sopenharmony_ci 3090e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.READ_IMAGEVIDEO 3091e41f4b71Sopenharmony_ci 3092e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 3093e41f4b71Sopenharmony_ci 3094e41f4b71Sopenharmony_ci**Parameters** 3095e41f4b71Sopenharmony_ci 3096e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 3097e41f4b71Sopenharmony_ci| ---------- | ------- | ---- | ---------------------------------- | 3098e41f4b71Sopenharmony_ci| requestId | string | Yes | ID of the task to cancel.| 3099e41f4b71Sopenharmony_ci 3100e41f4b71Sopenharmony_ci**Error codes** 3101e41f4b71Sopenharmony_ci 3102e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 3103e41f4b71Sopenharmony_ci 3104e41f4b71Sopenharmony_ci| ID| Error Message| 3105e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 3106e41f4b71Sopenharmony_ci| 201 | Permission verification failed, usually the result returned by VerifyAccessToken. | 3107e41f4b71Sopenharmony_ci| 202 | Permission verification failed, application which is not a system application uses system API. | 3108e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 3109e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 3110e41f4b71Sopenharmony_ci 3111e41f4b71Sopenharmony_ci**Example** 3112e41f4b71Sopenharmony_ci 3113e41f4b71Sopenharmony_ci```ts 3114e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 3115e41f4b71Sopenharmony_ciimport { image } from '@kit.ImageKit'; 3116e41f4b71Sopenharmony_ci 3117e41f4b71Sopenharmony_ciasync function example() { 3118e41f4b71Sopenharmony_ci try { 3119e41f4b71Sopenharmony_ci console.info('cancelPhotoRequestDemo') 3120e41f4b71Sopenharmony_ci let options: photoAccessHelper.FetchOptions = { 3121e41f4b71Sopenharmony_ci fetchColumns: [], 3122e41f4b71Sopenharmony_ci predicates: new dataSharePredicates.DataSharePredicates() 3123e41f4b71Sopenharmony_ci } 3124e41f4b71Sopenharmony_ci let fetchResult = await phAccessHelper.getAssets(options); 3125e41f4b71Sopenharmony_ci let photoAsset = await fetchResult.getFirstObject(); 3126e41f4b71Sopenharmony_ci let taskId: string = photoAsset.requestPhoto({ 3127e41f4b71Sopenharmony_ci "size": { 3128e41f4b71Sopenharmony_ci "width": 256, 3129e41f4b71Sopenharmony_ci "height": 256 3130e41f4b71Sopenharmony_ci }, 3131e41f4b71Sopenharmony_ci "requestPhotoType": photoAccessHelper.RequestPhotoType.REQUEST_ALL_THUMBNAILS 3132e41f4b71Sopenharmony_ci }, async (err, pixel: image.PixelMap) => { 3133e41f4b71Sopenharmony_ci if (err === undefined) { 3134e41f4b71Sopenharmony_ci console.info("requestSource in, size: " + JSON.stringify((await pixel.getImageInfo()).size)) 3135e41f4b71Sopenharmony_ci } else { 3136e41f4b71Sopenharmony_ci console.error(`requestSource failed with error: ${err.code}, ${err.message}`); 3137e41f4b71Sopenharmony_ci } 3138e41f4b71Sopenharmony_ci }) 3139e41f4b71Sopenharmony_ci console.info('requestSource taskId: ' + taskId) 3140e41f4b71Sopenharmony_ci photoAsset.cancelPhotoRequest(taskId); 3141e41f4b71Sopenharmony_ci } catch (err) { 3142e41f4b71Sopenharmony_ci console.error(`cancelPhotoRequestDemo failed with error: ${err.code}, ${err.message}`); 3143e41f4b71Sopenharmony_ci } 3144e41f4b71Sopenharmony_ci} 3145e41f4b71Sopenharmony_ci``` 3146e41f4b71Sopenharmony_ci 3147e41f4b71Sopenharmony_ci### getAnalysisData<sup>11+</sup> 3148e41f4b71Sopenharmony_ci 3149e41f4b71Sopenharmony_cigetAnalysisData(analysisType: AnalysisType): Promise\<string> 3150e41f4b71Sopenharmony_ci 3151e41f4b71Sopenharmony_ciObtains analysis data. This API uses a promise to return the result. 3152e41f4b71Sopenharmony_ci 3153e41f4b71Sopenharmony_ci**System API**: This is a system API. 3154e41f4b71Sopenharmony_ci 3155e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.READ\_IMAGEVIDEO 3156e41f4b71Sopenharmony_ci 3157e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 3158e41f4b71Sopenharmony_ci 3159e41f4b71Sopenharmony_ci**Parameters** 3160e41f4b71Sopenharmony_ci 3161e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 3162e41f4b71Sopenharmony_ci| :----------- | :----------- | :- | :----------- | 3163e41f4b71Sopenharmony_ci| analysisType | [AnalysisType](#analysistype11) | Yes | Smart analysis type.| 3164e41f4b71Sopenharmony_ci 3165e41f4b71Sopenharmony_ci**Error codes** 3166e41f4b71Sopenharmony_ci 3167e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 3168e41f4b71Sopenharmony_ci 3169e41f4b71Sopenharmony_ci| ID | Error Message | 3170e41f4b71Sopenharmony_ci| :------- | :-------------------------------- | 3171e41f4b71Sopenharmony_ci| 201 | Permission denied. | 3172e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 3173e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 3174e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 3175e41f4b71Sopenharmony_ci 3176e41f4b71Sopenharmony_ci**Example** 3177e41f4b71Sopenharmony_ci 3178e41f4b71Sopenharmony_ci```ts 3179e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 3180e41f4b71Sopenharmony_ci 3181e41f4b71Sopenharmony_ciasync function example() { 3182e41f4b71Sopenharmony_ci try { 3183e41f4b71Sopenharmony_ci console.info('getAnalysisDataDemo') 3184e41f4b71Sopenharmony_ci let fetchOptions: photoAccessHelper.FetchOptions = { 3185e41f4b71Sopenharmony_ci fetchColumns: [], 3186e41f4b71Sopenharmony_ci predicates: new dataSharePredicates.DataSharePredicates() 3187e41f4b71Sopenharmony_ci } 3188e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = 3189e41f4b71Sopenharmony_ci await phAccessHelper.getAssets(fetchOptions); 3190e41f4b71Sopenharmony_ci let photoAsset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject(); 3191e41f4b71Sopenharmony_ci if (photoAsset != undefined) { 3192e41f4b71Sopenharmony_ci let analysisData: string = await photoAsset.getAnalysisData( 3193e41f4b71Sopenharmony_ci photoAccessHelper.AnalysisType.ANALYSIS_OCR); 3194e41f4b71Sopenharmony_ci console.info('get ocr result: ' + JSON.stringify(analysisData)); 3195e41f4b71Sopenharmony_ci } 3196e41f4b71Sopenharmony_ci fetchResult.close(); 3197e41f4b71Sopenharmony_ci } catch (err) { 3198e41f4b71Sopenharmony_ci console.error(`getAnalysisDataDemofailed with error: ${err.code}, ${err.message}`); 3199e41f4b71Sopenharmony_ci } 3200e41f4b71Sopenharmony_ci} 3201e41f4b71Sopenharmony_ci``` 3202e41f4b71Sopenharmony_ci 3203e41f4b71Sopenharmony_ci## Album 3204e41f4b71Sopenharmony_ci 3205e41f4b71Sopenharmony_ciProvides APIs to manage albums. 3206e41f4b71Sopenharmony_ci 3207e41f4b71Sopenharmony_ci### recoverAssets<sup>(deprecated)</sup> 3208e41f4b71Sopenharmony_ci 3209e41f4b71Sopenharmony_cirecoverAssets(assets: Array<PhotoAsset>, callback: AsyncCallback<void>): void 3210e41f4b71Sopenharmony_ci 3211e41f4b71Sopenharmony_ciRecovers image or video assets from the trash. Before the operation, ensure that the image or video assets exist in the trash. This API uses an asynchronous callback to return the result. 3212e41f4b71Sopenharmony_ci 3213e41f4b71Sopenharmony_ci> **NOTE** 3214e41f4b71Sopenharmony_ci> 3215e41f4b71Sopenharmony_ci> This API is supported since API version 10 and deprecated since API version 11. Use [MediaAlbumChangeRequest.recoverAssets](#recoverassets11) instead. 3216e41f4b71Sopenharmony_ci 3217e41f4b71Sopenharmony_ci**System API**: This is a system API. 3218e41f4b71Sopenharmony_ci 3219e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.WRITE_IMAGEVIDEO 3220e41f4b71Sopenharmony_ci 3221e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 3222e41f4b71Sopenharmony_ci 3223e41f4b71Sopenharmony_ci**Parameters** 3224e41f4b71Sopenharmony_ci 3225e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 3226e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ---------- | 3227e41f4b71Sopenharmony_ci| assets | Array<[PhotoAsset](#photoasset)> | Yes | Array of the image or video assets to recover.| 3228e41f4b71Sopenharmony_ci| callback | AsyncCallback<void> | Yes | Callback that returns no value.| 3229e41f4b71Sopenharmony_ci 3230e41f4b71Sopenharmony_ci**Error codes** 3231e41f4b71Sopenharmony_ci 3232e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 3233e41f4b71Sopenharmony_ci 3234e41f4b71Sopenharmony_ci| ID| Error Message| 3235e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 3236e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 3237e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 3238e41f4b71Sopenharmony_ci| 13900012 | Permission denied. | 3239e41f4b71Sopenharmony_ci| 13900020 | Invalid argument. | 3240e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 3241e41f4b71Sopenharmony_ci 3242e41f4b71Sopenharmony_ci**Example** 3243e41f4b71Sopenharmony_ci 3244e41f4b71Sopenharmony_ci```ts 3245e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 3246e41f4b71Sopenharmony_ci 3247e41f4b71Sopenharmony_ciasync function example() { 3248e41f4b71Sopenharmony_ci try { 3249e41f4b71Sopenharmony_ci console.info('recoverAssetsDemoCallback'); 3250e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 3251e41f4b71Sopenharmony_ci let fetchOption: photoAccessHelper.FetchOptions = { 3252e41f4b71Sopenharmony_ci fetchColumns: [], 3253e41f4b71Sopenharmony_ci predicates: predicates 3254e41f4b71Sopenharmony_ci }; 3255e41f4b71Sopenharmony_ci let albumFetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.SYSTEM, photoAccessHelper.AlbumSubtype.TRASH); 3256e41f4b71Sopenharmony_ci let album: photoAccessHelper.Album = await albumFetchResult.getFirstObject(); 3257e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await album.getAssets(fetchOption); 3258e41f4b71Sopenharmony_ci let asset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject(); 3259e41f4b71Sopenharmony_ci album.recoverAssets([asset], (err) => { 3260e41f4b71Sopenharmony_ci if (err === undefined) { 3261e41f4b71Sopenharmony_ci console.info('album recoverAssets successfully'); 3262e41f4b71Sopenharmony_ci } else { 3263e41f4b71Sopenharmony_ci console.error(`album recoverAssets failed with error: ${err.code}, ${err.message}`); 3264e41f4b71Sopenharmony_ci } 3265e41f4b71Sopenharmony_ci }); 3266e41f4b71Sopenharmony_ci } catch (err) { 3267e41f4b71Sopenharmony_ci console.error(`recoverAssetsDemoCallback failed with error: ${err.code}, ${err.message}`); 3268e41f4b71Sopenharmony_ci } 3269e41f4b71Sopenharmony_ci} 3270e41f4b71Sopenharmony_ci``` 3271e41f4b71Sopenharmony_ci 3272e41f4b71Sopenharmony_ci### recoverAssets<sup>(deprecated)</sup> 3273e41f4b71Sopenharmony_ci 3274e41f4b71Sopenharmony_cirecoverAssets(assets: Array<PhotoAsset>): Promise<void> 3275e41f4b71Sopenharmony_ci 3276e41f4b71Sopenharmony_ciRecovers image or video assets from the trash. Before the operation, ensure that the image or video assets exist in the trash. This API uses a promise to return the result. 3277e41f4b71Sopenharmony_ci 3278e41f4b71Sopenharmony_ci> **NOTE** 3279e41f4b71Sopenharmony_ci> 3280e41f4b71Sopenharmony_ci> This API is supported since API version 10 and deprecated since API version 11. Use [MediaAlbumChangeRequest.recoverAssets](#recoverassets11) instead. 3281e41f4b71Sopenharmony_ci 3282e41f4b71Sopenharmony_ci**System API**: This is a system API. 3283e41f4b71Sopenharmony_ci 3284e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.WRITE_IMAGEVIDEO 3285e41f4b71Sopenharmony_ci 3286e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 3287e41f4b71Sopenharmony_ci 3288e41f4b71Sopenharmony_ci**Parameters** 3289e41f4b71Sopenharmony_ci 3290e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 3291e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ---------- | 3292e41f4b71Sopenharmony_ci| assets | Array<[PhotoAsset](#photoasset)> | Yes | Array of the image or video assets to recover.| 3293e41f4b71Sopenharmony_ci 3294e41f4b71Sopenharmony_ci**Return value** 3295e41f4b71Sopenharmony_ci 3296e41f4b71Sopenharmony_ci| Type | Description | 3297e41f4b71Sopenharmony_ci| --------------------------------------- | ----------------- | 3298e41f4b71Sopenharmony_ci|Promise<void> | Promise that returns no value.| 3299e41f4b71Sopenharmony_ci 3300e41f4b71Sopenharmony_ci**Error codes** 3301e41f4b71Sopenharmony_ci 3302e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 3303e41f4b71Sopenharmony_ci 3304e41f4b71Sopenharmony_ci| ID| Error Message| 3305e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 3306e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 3307e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 3308e41f4b71Sopenharmony_ci| 13900012 | Permission denied. | 3309e41f4b71Sopenharmony_ci| 13900020 | Invalid argument. | 3310e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 3311e41f4b71Sopenharmony_ci 3312e41f4b71Sopenharmony_ci**Example** 3313e41f4b71Sopenharmony_ci 3314e41f4b71Sopenharmony_ci```ts 3315e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 3316e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 3317e41f4b71Sopenharmony_ci 3318e41f4b71Sopenharmony_ciasync function example() { 3319e41f4b71Sopenharmony_ci try { 3320e41f4b71Sopenharmony_ci console.info('recoverAssetsDemoPromise'); 3321e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 3322e41f4b71Sopenharmony_ci let fetchOption: photoAccessHelper.FetchOptions = { 3323e41f4b71Sopenharmony_ci fetchColumns: [], 3324e41f4b71Sopenharmony_ci predicates: predicates 3325e41f4b71Sopenharmony_ci }; 3326e41f4b71Sopenharmony_ci let albumFetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.SYSTEM, photoAccessHelper.AlbumSubtype.TRASH); 3327e41f4b71Sopenharmony_ci let album: photoAccessHelper.Album = await albumFetchResult.getFirstObject(); 3328e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await album.getAssets(fetchOption); 3329e41f4b71Sopenharmony_ci let asset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject(); 3330e41f4b71Sopenharmony_ci album.recoverAssets([asset]).then(() => { 3331e41f4b71Sopenharmony_ci console.info('album recoverAssets successfully'); 3332e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 3333e41f4b71Sopenharmony_ci console.error(`album recoverAssets failed with error: ${err.code}, ${err.message}`); 3334e41f4b71Sopenharmony_ci }); 3335e41f4b71Sopenharmony_ci } catch (err) { 3336e41f4b71Sopenharmony_ci console.error(`recoverAssetsDemoPromise failed with error: ${err.code}, ${err.message}`); 3337e41f4b71Sopenharmony_ci } 3338e41f4b71Sopenharmony_ci} 3339e41f4b71Sopenharmony_ci``` 3340e41f4b71Sopenharmony_ci 3341e41f4b71Sopenharmony_ci### deleteAssets<sup>(deprecated)</sup> 3342e41f4b71Sopenharmony_ci 3343e41f4b71Sopenharmony_cideleteAssets(assets: Array<PhotoAsset>, callback: AsyncCallback<void>): void 3344e41f4b71Sopenharmony_ci 3345e41f4b71Sopenharmony_ciDeletes image or video assets from the trash. Before the operation, ensure that the image or video assets exist in the trash. This API uses an asynchronous callback to return the result. 3346e41f4b71Sopenharmony_ci 3347e41f4b71Sopenharmony_ci> **NOTE** 3348e41f4b71Sopenharmony_ci> 3349e41f4b71Sopenharmony_ci> This API is supported since API version 10 and deprecated since API version 11. Use [MediaAlbumChangeRequest.deleteAssets](#deleteassets11) instead. 3350e41f4b71Sopenharmony_ci 3351e41f4b71Sopenharmony_ci**NOTE**<br>This operation is irreversible. The file assets deleted cannot be restored. Exercise caution when performing this operation. 3352e41f4b71Sopenharmony_ci 3353e41f4b71Sopenharmony_ci**System API**: This is a system API. 3354e41f4b71Sopenharmony_ci 3355e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.WRITE_IMAGEVIDEO 3356e41f4b71Sopenharmony_ci 3357e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 3358e41f4b71Sopenharmony_ci 3359e41f4b71Sopenharmony_ci**Parameters** 3360e41f4b71Sopenharmony_ci 3361e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 3362e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ---------- | 3363e41f4b71Sopenharmony_ci| assets | Array<[PhotoAsset](#photoasset)> | Yes | Array of the image or video assets to delete.| 3364e41f4b71Sopenharmony_ci| callback | AsyncCallback<void> | Yes | Callback that returns no value.| 3365e41f4b71Sopenharmony_ci 3366e41f4b71Sopenharmony_ci**Error codes** 3367e41f4b71Sopenharmony_ci 3368e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 3369e41f4b71Sopenharmony_ci 3370e41f4b71Sopenharmony_ci| ID| Error Message| 3371e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 3372e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 3373e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 3374e41f4b71Sopenharmony_ci| 13900012 | Permission denied. | 3375e41f4b71Sopenharmony_ci| 13900020 | Invalid argument. | 3376e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 3377e41f4b71Sopenharmony_ci 3378e41f4b71Sopenharmony_ci**Example** 3379e41f4b71Sopenharmony_ci 3380e41f4b71Sopenharmony_ci```ts 3381e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 3382e41f4b71Sopenharmony_ci 3383e41f4b71Sopenharmony_ciasync function example() { 3384e41f4b71Sopenharmony_ci try { 3385e41f4b71Sopenharmony_ci console.info('deleteAssetsDemoCallback'); 3386e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 3387e41f4b71Sopenharmony_ci let fetchOption: photoAccessHelper.FetchOptions = { 3388e41f4b71Sopenharmony_ci fetchColumns: [], 3389e41f4b71Sopenharmony_ci predicates: predicates 3390e41f4b71Sopenharmony_ci }; 3391e41f4b71Sopenharmony_ci let albumFetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.SYSTEM, photoAccessHelper.AlbumSubtype.TRASH); 3392e41f4b71Sopenharmony_ci let album: photoAccessHelper.Album = await albumFetchResult.getFirstObject(); 3393e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await album.getAssets(fetchOption); 3394e41f4b71Sopenharmony_ci let asset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject(); 3395e41f4b71Sopenharmony_ci album.deleteAssets([asset], (err) => { 3396e41f4b71Sopenharmony_ci if (err === undefined) { 3397e41f4b71Sopenharmony_ci console.info('album deleteAssets successfully'); 3398e41f4b71Sopenharmony_ci } else { 3399e41f4b71Sopenharmony_ci console.error(`album deleteAssets failed with error: ${err.code}, ${err.message}`); 3400e41f4b71Sopenharmony_ci } 3401e41f4b71Sopenharmony_ci }); 3402e41f4b71Sopenharmony_ci } catch (err) { 3403e41f4b71Sopenharmony_ci console.error(`deleteAssetsDemoCallback failed with error: ${err.code}, ${err.message}`); 3404e41f4b71Sopenharmony_ci } 3405e41f4b71Sopenharmony_ci} 3406e41f4b71Sopenharmony_ci``` 3407e41f4b71Sopenharmony_ci 3408e41f4b71Sopenharmony_ci### deleteAssets<sup>(deprecated)</sup> 3409e41f4b71Sopenharmony_ci 3410e41f4b71Sopenharmony_cideleteAssets(assets: Array<PhotoAsset>): Promise<void> 3411e41f4b71Sopenharmony_ci 3412e41f4b71Sopenharmony_ciDeletes image or video assets from the trash. Before the operation, ensure that the image or video assets exist in the trash. This API uses a promise to return the result. 3413e41f4b71Sopenharmony_ci 3414e41f4b71Sopenharmony_ci> **NOTE** 3415e41f4b71Sopenharmony_ci> 3416e41f4b71Sopenharmony_ci> This API is supported since API version 10 and deprecated since API version 11. Use [MediaAlbumChangeRequest.deleteAssets](#deleteassets11) instead. 3417e41f4b71Sopenharmony_ci 3418e41f4b71Sopenharmony_ci**NOTE**<br>This operation is irreversible. The file assets deleted cannot be restored. Exercise caution when performing this operation. 3419e41f4b71Sopenharmony_ci 3420e41f4b71Sopenharmony_ci**System API**: This is a system API. 3421e41f4b71Sopenharmony_ci 3422e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.WRITE_IMAGEVIDEO 3423e41f4b71Sopenharmony_ci 3424e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 3425e41f4b71Sopenharmony_ci 3426e41f4b71Sopenharmony_ci**Parameters** 3427e41f4b71Sopenharmony_ci 3428e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 3429e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ---------- | 3430e41f4b71Sopenharmony_ci| assets | Array<[PhotoAsset](#photoasset)> | Yes | Array of the image or video assets to delete.| 3431e41f4b71Sopenharmony_ci 3432e41f4b71Sopenharmony_ci**Return value** 3433e41f4b71Sopenharmony_ci 3434e41f4b71Sopenharmony_ci| Type | Description | 3435e41f4b71Sopenharmony_ci| --------------------------------------- | ----------------- | 3436e41f4b71Sopenharmony_ci|Promise<void> | Promise that returns no value.| 3437e41f4b71Sopenharmony_ci 3438e41f4b71Sopenharmony_ci**Error codes** 3439e41f4b71Sopenharmony_ci 3440e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 3441e41f4b71Sopenharmony_ci 3442e41f4b71Sopenharmony_ci| ID| Error Message| 3443e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 3444e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 3445e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 3446e41f4b71Sopenharmony_ci| 13900012 | Permission denied. | 3447e41f4b71Sopenharmony_ci| 13900020 | Invalid argument. | 3448e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 3449e41f4b71Sopenharmony_ci 3450e41f4b71Sopenharmony_ci**Example** 3451e41f4b71Sopenharmony_ci 3452e41f4b71Sopenharmony_ci```ts 3453e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 3454e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 3455e41f4b71Sopenharmony_ci 3456e41f4b71Sopenharmony_ciasync function example() { 3457e41f4b71Sopenharmony_ci try { 3458e41f4b71Sopenharmony_ci console.info('deleteAssetsDemoPromise'); 3459e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 3460e41f4b71Sopenharmony_ci let fetchOption: photoAccessHelper.FetchOptions = { 3461e41f4b71Sopenharmony_ci fetchColumns: [], 3462e41f4b71Sopenharmony_ci predicates: predicates 3463e41f4b71Sopenharmony_ci }; 3464e41f4b71Sopenharmony_ci let albumFetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.SYSTEM, photoAccessHelper.AlbumSubtype.TRASH); 3465e41f4b71Sopenharmony_ci let album: photoAccessHelper.Album = await albumFetchResult.getFirstObject(); 3466e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await album.getAssets(fetchOption); 3467e41f4b71Sopenharmony_ci let asset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject(); 3468e41f4b71Sopenharmony_ci album.deleteAssets([asset]).then(() => { 3469e41f4b71Sopenharmony_ci console.info('album deleteAssets successfully'); 3470e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 3471e41f4b71Sopenharmony_ci console.error(`album deleteAssets failed with error: ${err.code}, ${err.message}`); 3472e41f4b71Sopenharmony_ci }); 3473e41f4b71Sopenharmony_ci } catch (err) { 3474e41f4b71Sopenharmony_ci console.error(`deleteAssetsDemoPromise failed with error: ${err.code}, ${err.message}`); 3475e41f4b71Sopenharmony_ci } 3476e41f4b71Sopenharmony_ci} 3477e41f4b71Sopenharmony_ci``` 3478e41f4b71Sopenharmony_ci 3479e41f4b71Sopenharmony_ci### setCoverUri<sup>(deprecated)</sup> 3480e41f4b71Sopenharmony_ci 3481e41f4b71Sopenharmony_cisetCoverUri(uri: string, callback: AsyncCallback<void>): void 3482e41f4b71Sopenharmony_ci 3483e41f4b71Sopenharmony_ciSets the album cover. This API uses an asynchronous callback to return the result. 3484e41f4b71Sopenharmony_ci 3485e41f4b71Sopenharmony_ci> **NOTE** 3486e41f4b71Sopenharmony_ci> 3487e41f4b71Sopenharmony_ci> This API is supported since API version 10 and deprecated since API version 11. Use [MediaAlbumChangeRequest.setCoverUri](#setcoveruri11) instead. 3488e41f4b71Sopenharmony_ci 3489e41f4b71Sopenharmony_ci**NOTE**<br>This API can be used to set the user album cover, but not the system album cover. 3490e41f4b71Sopenharmony_ci 3491e41f4b71Sopenharmony_ci**System API**: This is a system API. 3492e41f4b71Sopenharmony_ci 3493e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.WRITE_IMAGEVIDEO 3494e41f4b71Sopenharmony_ci 3495e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 3496e41f4b71Sopenharmony_ci 3497e41f4b71Sopenharmony_ci**Parameters** 3498e41f4b71Sopenharmony_ci 3499e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 3500e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ---------- | 3501e41f4b71Sopenharmony_ci| uri | string | Yes | URI of the file to be set as the album cover.| 3502e41f4b71Sopenharmony_ci| callback | AsyncCallback<void> | Yes | Callback that returns no value.| 3503e41f4b71Sopenharmony_ci 3504e41f4b71Sopenharmony_ci**Error codes** 3505e41f4b71Sopenharmony_ci 3506e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 3507e41f4b71Sopenharmony_ci 3508e41f4b71Sopenharmony_ci| ID| Error Message| 3509e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 3510e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 3511e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 3512e41f4b71Sopenharmony_ci| 13900012 | Permission denied. | 3513e41f4b71Sopenharmony_ci| 13900020 | Invalid argument. | 3514e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 3515e41f4b71Sopenharmony_ci 3516e41f4b71Sopenharmony_ci**Example** 3517e41f4b71Sopenharmony_ci 3518e41f4b71Sopenharmony_ci```ts 3519e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 3520e41f4b71Sopenharmony_ci 3521e41f4b71Sopenharmony_ciasync function example() { 3522e41f4b71Sopenharmony_ci try { 3523e41f4b71Sopenharmony_ci console.info('setCoverUriDemoCallback'); 3524e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 3525e41f4b71Sopenharmony_ci let fetchOption: photoAccessHelper.FetchOptions = { 3526e41f4b71Sopenharmony_ci fetchColumns: [], 3527e41f4b71Sopenharmony_ci predicates: predicates 3528e41f4b71Sopenharmony_ci }; 3529e41f4b71Sopenharmony_ci let albumFetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.USER, photoAccessHelper.AlbumSubtype.USER_GENERIC); 3530e41f4b71Sopenharmony_ci let album: photoAccessHelper.Album = await albumFetchResult.getFirstObject(); 3531e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await album.getAssets(fetchOption); 3532e41f4b71Sopenharmony_ci let asset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject(); 3533e41f4b71Sopenharmony_ci album.setCoverUri(asset.uri, (err) => { 3534e41f4b71Sopenharmony_ci if (err === undefined) { 3535e41f4b71Sopenharmony_ci console.info('album setCoverUri successfully'); 3536e41f4b71Sopenharmony_ci } else { 3537e41f4b71Sopenharmony_ci console.error(`album setCoverUri failed with error: ${err.code}, ${err.message}`); 3538e41f4b71Sopenharmony_ci } 3539e41f4b71Sopenharmony_ci }); 3540e41f4b71Sopenharmony_ci } catch (err) { 3541e41f4b71Sopenharmony_ci console.error(`setCoverUriDemoCallback failed with error: ${err.code}, ${err.message}`); 3542e41f4b71Sopenharmony_ci } 3543e41f4b71Sopenharmony_ci} 3544e41f4b71Sopenharmony_ci``` 3545e41f4b71Sopenharmony_ci 3546e41f4b71Sopenharmony_ci### setCoverUri<sup>(deprecated)</sup> 3547e41f4b71Sopenharmony_ci 3548e41f4b71Sopenharmony_cisetCoverUri(uri: string): Promise<void> 3549e41f4b71Sopenharmony_ci 3550e41f4b71Sopenharmony_ciSets the album cover. This API uses a promise to return the result. 3551e41f4b71Sopenharmony_ci 3552e41f4b71Sopenharmony_ci> **NOTE** 3553e41f4b71Sopenharmony_ci> 3554e41f4b71Sopenharmony_ci> This API is supported since API version 10 and deprecated since API version 11. Use [MediaAlbumChangeRequest.setCoverUri](#setcoveruri11) instead. 3555e41f4b71Sopenharmony_ci 3556e41f4b71Sopenharmony_ci**NOTE**<br>This API can be used to set the user album cover, but not the system album cover. 3557e41f4b71Sopenharmony_ci 3558e41f4b71Sopenharmony_ci**System API**: This is a system API. 3559e41f4b71Sopenharmony_ci 3560e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.WRITE_IMAGEVIDEO 3561e41f4b71Sopenharmony_ci 3562e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 3563e41f4b71Sopenharmony_ci 3564e41f4b71Sopenharmony_ci**Parameters** 3565e41f4b71Sopenharmony_ci 3566e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 3567e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ---------- | 3568e41f4b71Sopenharmony_ci| uri | string | Yes | URI of the file to be set as the album cover.| 3569e41f4b71Sopenharmony_ci 3570e41f4b71Sopenharmony_ci**Return value** 3571e41f4b71Sopenharmony_ci 3572e41f4b71Sopenharmony_ci| Type | Description | 3573e41f4b71Sopenharmony_ci| --------------------------------------- | ----------------- | 3574e41f4b71Sopenharmony_ci|Promise<void> | Promise that returns no value.| 3575e41f4b71Sopenharmony_ci 3576e41f4b71Sopenharmony_ci**Error codes** 3577e41f4b71Sopenharmony_ci 3578e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 3579e41f4b71Sopenharmony_ci 3580e41f4b71Sopenharmony_ci| ID| Error Message| 3581e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 3582e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 3583e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 3584e41f4b71Sopenharmony_ci| 13900012 | Permission denied. | 3585e41f4b71Sopenharmony_ci| 13900020 | Invalid argument. | 3586e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 3587e41f4b71Sopenharmony_ci**Example** 3588e41f4b71Sopenharmony_ci 3589e41f4b71Sopenharmony_ci```ts 3590e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 3591e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 3592e41f4b71Sopenharmony_ci 3593e41f4b71Sopenharmony_ciasync function example() { 3594e41f4b71Sopenharmony_ci try { 3595e41f4b71Sopenharmony_ci console.info('setCoverUriDemoPromise'); 3596e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 3597e41f4b71Sopenharmony_ci let fetchOption: photoAccessHelper.FetchOptions = { 3598e41f4b71Sopenharmony_ci fetchColumns: [], 3599e41f4b71Sopenharmony_ci predicates: predicates 3600e41f4b71Sopenharmony_ci }; 3601e41f4b71Sopenharmony_ci let albumFetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.USER, photoAccessHelper.AlbumSubtype.USER_GENERIC); 3602e41f4b71Sopenharmony_ci let album: photoAccessHelper.Album = await albumFetchResult.getFirstObject(); 3603e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await album.getAssets(fetchOption); 3604e41f4b71Sopenharmony_ci let asset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject(); 3605e41f4b71Sopenharmony_ci album.setCoverUri(asset.uri).then(() => { 3606e41f4b71Sopenharmony_ci console.info('album setCoverUri successfully'); 3607e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 3608e41f4b71Sopenharmony_ci console.error(`album setCoverUri failed with error: ${err.code}, ${err.message}`); 3609e41f4b71Sopenharmony_ci }); 3610e41f4b71Sopenharmony_ci } catch (err) { 3611e41f4b71Sopenharmony_ci console.error(`setCoverUriDemoPromise failed with error: ${err.code}, ${err.message}`); 3612e41f4b71Sopenharmony_ci } 3613e41f4b71Sopenharmony_ci} 3614e41f4b71Sopenharmony_ci``` 3615e41f4b71Sopenharmony_ci 3616e41f4b71Sopenharmony_ci## MediaAssetEditData<sup>11+</sup> 3617e41f4b71Sopenharmony_ci 3618e41f4b71Sopenharmony_ciRepresents the edited media asset data. 3619e41f4b71Sopenharmony_ci 3620e41f4b71Sopenharmony_ci**System API**: This is a system API. 3621e41f4b71Sopenharmony_ci 3622e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 3623e41f4b71Sopenharmony_ci 3624e41f4b71Sopenharmony_ci### Attributes 3625e41f4b71Sopenharmony_ci 3626e41f4b71Sopenharmony_ci| Name | Type | Readable | Writable | Description | 3627e41f4b71Sopenharmony_ci| ------------ | ------ | ---- | ---- | ------- | 3628e41f4b71Sopenharmony_ci| compatibleFormat | string | Yes | Yes | Format of the edited data. **System API**: This is a system API. | 3629e41f4b71Sopenharmony_ci| formatVersion | string | Yes | Yes | Version of the data format. **System API**: This is a system API. | 3630e41f4b71Sopenharmony_ci| data | string | Yes | Yes | Content edited. **System API**: This is a system API. | 3631e41f4b71Sopenharmony_ci 3632e41f4b71Sopenharmony_ci### constructor<sup>11+</sup> 3633e41f4b71Sopenharmony_ci 3634e41f4b71Sopenharmony_ciconstructor(compatibleFormat: string, formatVersion: string) 3635e41f4b71Sopenharmony_ci 3636e41f4b71Sopenharmony_ciConstructor. 3637e41f4b71Sopenharmony_ci 3638e41f4b71Sopenharmony_ci**System API**: This is a system API. 3639e41f4b71Sopenharmony_ci 3640e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 3641e41f4b71Sopenharmony_ci 3642e41f4b71Sopenharmony_ci**Parameters** 3643e41f4b71Sopenharmony_ci 3644e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 3645e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ---------- | 3646e41f4b71Sopenharmony_ci| compatibleFormat | string | Yes | Format of the edited data.| 3647e41f4b71Sopenharmony_ci| formatVersion | string | Yes | Version of the data format.| 3648e41f4b71Sopenharmony_ci 3649e41f4b71Sopenharmony_ci**Error codes** 3650e41f4b71Sopenharmony_ci 3651e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 3652e41f4b71Sopenharmony_ci 3653e41f4b71Sopenharmony_ci| ID| Error Message| 3654e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 3655e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 3656e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 3657e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 3658e41f4b71Sopenharmony_ci 3659e41f4b71Sopenharmony_ci**Example** 3660e41f4b71Sopenharmony_ci 3661e41f4b71Sopenharmony_ci```ts 3662e41f4b71Sopenharmony_cilet assetEditData: photoAccessHelper.MediaAssetEditData = new photoAccessHelper.MediaAssetEditData('system', '1.0'); 3663e41f4b71Sopenharmony_ci``` 3664e41f4b71Sopenharmony_ci 3665e41f4b71Sopenharmony_ci## MediaAssetChangeRequest<sup>11+</sup> 3666e41f4b71Sopenharmony_ci 3667e41f4b71Sopenharmony_ciRepresents a media asset change request. 3668e41f4b71Sopenharmony_ci 3669e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 3670e41f4b71Sopenharmony_ci 3671e41f4b71Sopenharmony_ci### createAssetRequest<sup>11+</sup> 3672e41f4b71Sopenharmony_ci 3673e41f4b71Sopenharmony_cistatic createAssetRequest(context: Context, displayName: string, options?: PhotoCreateOptions): MediaAssetChangeRequest 3674e41f4b71Sopenharmony_ci 3675e41f4b71Sopenharmony_ciCreates an asset change request with the specified file name. 3676e41f4b71Sopenharmony_ci 3677e41f4b71Sopenharmony_ciThe file name must comply with the following specifications: 3678e41f4b71Sopenharmony_ci- The file name consists of a valid file name and an image or video file name extension. 3679e41f4b71Sopenharmony_ci- The file name cannot exceed 255 characters. 3680e41f4b71Sopenharmony_ci- The file name cannot contain any of the following characters:<br> . .. \ / : * ? " ' ` < > | { } [ ] 3681e41f4b71Sopenharmony_ci 3682e41f4b71Sopenharmony_ci**System API**: This is a system API. 3683e41f4b71Sopenharmony_ci 3684e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 3685e41f4b71Sopenharmony_ci 3686e41f4b71Sopenharmony_ci**Parameters** 3687e41f4b71Sopenharmony_ci 3688e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 3689e41f4b71Sopenharmony_ci| ------- | ------- | ---- | -------------------------- | 3690e41f4b71Sopenharmony_ci| context | [Context](../apis-ability-kit/js-apis-inner-application-context.md) | Yes | Context of the ability instance.| 3691e41f4b71Sopenharmony_ci| displayName | string | Yes | File name of the image or video to create. | 3692e41f4b71Sopenharmony_ci| options | [PhotoCreateOptions](#photocreateoptions) | No | Options for creating an image or video asset. | 3693e41f4b71Sopenharmony_ci 3694e41f4b71Sopenharmony_ci**Return value** 3695e41f4b71Sopenharmony_ci 3696e41f4b71Sopenharmony_ci| Type | Description | 3697e41f4b71Sopenharmony_ci| --------------------------------------- | ----------------- | 3698e41f4b71Sopenharmony_ci| [MediaAssetChangeRequest](#mediaassetchangerequest11) | **MediaAssetChangeRequest** created.| 3699e41f4b71Sopenharmony_ci 3700e41f4b71Sopenharmony_ci**Error codes** 3701e41f4b71Sopenharmony_ci 3702e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 3703e41f4b71Sopenharmony_ci 3704e41f4b71Sopenharmony_ci| ID| Error Message| 3705e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 3706e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 3707e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 3708e41f4b71Sopenharmony_ci| 14000001 | Invalid display name. | 3709e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 3710e41f4b71Sopenharmony_ci 3711e41f4b71Sopenharmony_ci**Example** 3712e41f4b71Sopenharmony_ci 3713e41f4b71Sopenharmony_ci```ts 3714e41f4b71Sopenharmony_ciasync function example() { 3715e41f4b71Sopenharmony_ci console.info('createAssetRequestDemo'); 3716e41f4b71Sopenharmony_ci try { 3717e41f4b71Sopenharmony_ci let testFileName: string = 'testFile' + Date.now() + '.jpg'; 3718e41f4b71Sopenharmony_ci let assetChangeRequest: photoAccessHelper.MediaAssetChangeRequest = photoAccessHelper.MediaAssetChangeRequest.createAssetRequest(context, testFileName); 3719e41f4b71Sopenharmony_ci // Ensure that the asset specified by fileUri exists. 3720e41f4b71Sopenharmony_ci let fileUri = 'file://com.example.temptest/data/storage/el2/base/haps/entry/files/test.jpg'; 3721e41f4b71Sopenharmony_ci assetChangeRequest.addResource(photoAccessHelper.ResourceType.IMAGE_RESOURCE, fileUri); 3722e41f4b71Sopenharmony_ci await phAccessHelper.applyChanges(assetChangeRequest); 3723e41f4b71Sopenharmony_ci console.info('apply createAssetRequest successfully'); 3724e41f4b71Sopenharmony_ci } catch (err) { 3725e41f4b71Sopenharmony_ci console.error(`createAssetRequestDemo failed with error: ${err.code}, ${err.message}`); 3726e41f4b71Sopenharmony_ci } 3727e41f4b71Sopenharmony_ci} 3728e41f4b71Sopenharmony_ci``` 3729e41f4b71Sopenharmony_ci 3730e41f4b71Sopenharmony_ci### setFavorite<sup>11+</sup> 3731e41f4b71Sopenharmony_ci 3732e41f4b71Sopenharmony_cisetFavorite(favoriteState: boolean): void 3733e41f4b71Sopenharmony_ci 3734e41f4b71Sopenharmony_ciFavorites or unfavorites this file. 3735e41f4b71Sopenharmony_ci 3736e41f4b71Sopenharmony_ci**System API**: This is a system API. 3737e41f4b71Sopenharmony_ci 3738e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 3739e41f4b71Sopenharmony_ci 3740e41f4b71Sopenharmony_ci**Parameters** 3741e41f4b71Sopenharmony_ci 3742e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 3743e41f4b71Sopenharmony_ci| ---------- | ------- | ---- | ---------------------------------- | 3744e41f4b71Sopenharmony_ci| favoriteState | boolean | Yes | Operation to perform. The value **true** means to favorite the file, and **false** means the opposite.| 3745e41f4b71Sopenharmony_ci 3746e41f4b71Sopenharmony_ci**Error codes** 3747e41f4b71Sopenharmony_ci 3748e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 3749e41f4b71Sopenharmony_ci 3750e41f4b71Sopenharmony_ci| ID| Error Message| 3751e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 3752e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 3753e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 3754e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 3755e41f4b71Sopenharmony_ci 3756e41f4b71Sopenharmony_ci**Example** 3757e41f4b71Sopenharmony_ci 3758e41f4b71Sopenharmony_ci```ts 3759e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 3760e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 3761e41f4b71Sopenharmony_ci 3762e41f4b71Sopenharmony_ciasync function example() { 3763e41f4b71Sopenharmony_ci console.info('setFavoriteDemo'); 3764e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 3765e41f4b71Sopenharmony_ci let fetchOption: photoAccessHelper.FetchOptions = { 3766e41f4b71Sopenharmony_ci fetchColumns: [], 3767e41f4b71Sopenharmony_ci predicates: predicates 3768e41f4b71Sopenharmony_ci }; 3769e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOption); 3770e41f4b71Sopenharmony_ci let asset = await fetchResult.getFirstObject(); 3771e41f4b71Sopenharmony_ci let assetChangeRequest: photoAccessHelper.MediaAssetChangeRequest = new photoAccessHelper.MediaAssetChangeRequest(asset); 3772e41f4b71Sopenharmony_ci assetChangeRequest.setFavorite(true); 3773e41f4b71Sopenharmony_ci phAccessHelper.applyChanges(assetChangeRequest).then(() => { 3774e41f4b71Sopenharmony_ci console.info('apply setFavorite successfully'); 3775e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 3776e41f4b71Sopenharmony_ci console.error(`apply setFavorite failed with error: ${err.code}, ${err.message}`); 3777e41f4b71Sopenharmony_ci }); 3778e41f4b71Sopenharmony_ci} 3779e41f4b71Sopenharmony_ci``` 3780e41f4b71Sopenharmony_ci 3781e41f4b71Sopenharmony_ci### setHidden<sup>11+</sup> 3782e41f4b71Sopenharmony_ci 3783e41f4b71Sopenharmony_cisetHidden(hiddenState: boolean): void 3784e41f4b71Sopenharmony_ci 3785e41f4b71Sopenharmony_ciHides this file. 3786e41f4b71Sopenharmony_ci 3787e41f4b71Sopenharmony_ci**System API**: This is a system API. 3788e41f4b71Sopenharmony_ci 3789e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 3790e41f4b71Sopenharmony_ci 3791e41f4b71Sopenharmony_ci**Parameters** 3792e41f4b71Sopenharmony_ci 3793e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 3794e41f4b71Sopenharmony_ci| ---------- | ------- | ---- | ---------------------------------- | 3795e41f4b71Sopenharmony_ci| hiddenState | boolean | Yes | Whether to hide the file. The value **true** means to hide the file; the value **false** means the opposite.| 3796e41f4b71Sopenharmony_ci 3797e41f4b71Sopenharmony_ci**Error codes** 3798e41f4b71Sopenharmony_ci 3799e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 3800e41f4b71Sopenharmony_ci 3801e41f4b71Sopenharmony_ci| ID| Error Message| 3802e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 3803e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 3804e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 3805e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 3806e41f4b71Sopenharmony_ci 3807e41f4b71Sopenharmony_ci**Example** 3808e41f4b71Sopenharmony_ci 3809e41f4b71Sopenharmony_ci```ts 3810e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 3811e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 3812e41f4b71Sopenharmony_ci 3813e41f4b71Sopenharmony_ciasync function example() { 3814e41f4b71Sopenharmony_ci console.info('setHiddenDemo'); 3815e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 3816e41f4b71Sopenharmony_ci let fetchOption: photoAccessHelper.FetchOptions = { 3817e41f4b71Sopenharmony_ci fetchColumns: [], 3818e41f4b71Sopenharmony_ci predicates: predicates 3819e41f4b71Sopenharmony_ci }; 3820e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOption); 3821e41f4b71Sopenharmony_ci let asset = await fetchResult.getFirstObject(); 3822e41f4b71Sopenharmony_ci let assetChangeRequest: photoAccessHelper.MediaAssetChangeRequest = new photoAccessHelper.MediaAssetChangeRequest(asset); 3823e41f4b71Sopenharmony_ci assetChangeRequest.setHidden(true); 3824e41f4b71Sopenharmony_ci phAccessHelper.applyChanges(assetChangeRequest).then(() => { 3825e41f4b71Sopenharmony_ci console.info('apply setHidden successfully'); 3826e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 3827e41f4b71Sopenharmony_ci console.error(`apply setHidden failed with error: ${err.code}, ${err.message}`); 3828e41f4b71Sopenharmony_ci }); 3829e41f4b71Sopenharmony_ci} 3830e41f4b71Sopenharmony_ci``` 3831e41f4b71Sopenharmony_ci 3832e41f4b71Sopenharmony_ci### setUserComment<sup>11+</sup> 3833e41f4b71Sopenharmony_ci 3834e41f4b71Sopenharmony_cisetUserComment(userComment: string): void 3835e41f4b71Sopenharmony_ci 3836e41f4b71Sopenharmony_ciSets the user comment information of this media asset. 3837e41f4b71Sopenharmony_ci 3838e41f4b71Sopenharmony_ci**System API**: This is a system API. 3839e41f4b71Sopenharmony_ci 3840e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 3841e41f4b71Sopenharmony_ci 3842e41f4b71Sopenharmony_ci**Parameters** 3843e41f4b71Sopenharmony_ci 3844e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 3845e41f4b71Sopenharmony_ci| ---------- | ------- | ---- | ---------------------------------- | 3846e41f4b71Sopenharmony_ci| userComment | string | Yes | Comment information to set, which cannot exceed 420 characters.| 3847e41f4b71Sopenharmony_ci 3848e41f4b71Sopenharmony_ci**Error codes** 3849e41f4b71Sopenharmony_ci 3850e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 3851e41f4b71Sopenharmony_ci 3852e41f4b71Sopenharmony_ci| ID| Error Message| 3853e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 3854e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 3855e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 3856e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 3857e41f4b71Sopenharmony_ci 3858e41f4b71Sopenharmony_ci**Example** 3859e41f4b71Sopenharmony_ci 3860e41f4b71Sopenharmony_ci```ts 3861e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 3862e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 3863e41f4b71Sopenharmony_ci 3864e41f4b71Sopenharmony_ciasync function example() { 3865e41f4b71Sopenharmony_ci console.info('setUserCommentDemo'); 3866e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 3867e41f4b71Sopenharmony_ci let fetchOption: photoAccessHelper.FetchOptions = { 3868e41f4b71Sopenharmony_ci fetchColumns: [], 3869e41f4b71Sopenharmony_ci predicates: predicates 3870e41f4b71Sopenharmony_ci }; 3871e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOption); 3872e41f4b71Sopenharmony_ci let asset = await fetchResult.getFirstObject(); 3873e41f4b71Sopenharmony_ci let assetChangeRequest: photoAccessHelper.MediaAssetChangeRequest = new photoAccessHelper.MediaAssetChangeRequest(asset); 3874e41f4b71Sopenharmony_ci let userComment: string = 'test_set_user_comment'; 3875e41f4b71Sopenharmony_ci assetChangeRequest.setUserComment(userComment); 3876e41f4b71Sopenharmony_ci phAccessHelper.applyChanges(assetChangeRequest).then(() => { 3877e41f4b71Sopenharmony_ci console.info('apply setUserComment successfully'); 3878e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 3879e41f4b71Sopenharmony_ci console.error(`apply setUserComment failed with error: ${err.code}, ${err.message}`); 3880e41f4b71Sopenharmony_ci }); 3881e41f4b71Sopenharmony_ci} 3882e41f4b71Sopenharmony_ci``` 3883e41f4b71Sopenharmony_ci 3884e41f4b71Sopenharmony_ci### setEditData<sup>11+</sup> 3885e41f4b71Sopenharmony_ci 3886e41f4b71Sopenharmony_cisetEditData(editData: MediaAssetEditData): void 3887e41f4b71Sopenharmony_ci 3888e41f4b71Sopenharmony_ciSaves the edited data of an asset. 3889e41f4b71Sopenharmony_ci 3890e41f4b71Sopenharmony_ci**System API**: This is a system API. 3891e41f4b71Sopenharmony_ci 3892e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 3893e41f4b71Sopenharmony_ci 3894e41f4b71Sopenharmony_ci**Parameters** 3895e41f4b71Sopenharmony_ci 3896e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 3897e41f4b71Sopenharmony_ci| ---------- | ------- | ---- | ---------------------------------- | 3898e41f4b71Sopenharmony_ci| editData | [MediaAssetEditData](#mediaasseteditdata11) | Yes | Edited data to save.| 3899e41f4b71Sopenharmony_ci 3900e41f4b71Sopenharmony_ci**Error codes** 3901e41f4b71Sopenharmony_ci 3902e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 3903e41f4b71Sopenharmony_ci 3904e41f4b71Sopenharmony_ci| ID| Error Message| 3905e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 3906e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 3907e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 3908e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 3909e41f4b71Sopenharmony_ci 3910e41f4b71Sopenharmony_ci**Example** 3911e41f4b71Sopenharmony_ci 3912e41f4b71Sopenharmony_ci```ts 3913e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 3914e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 3915e41f4b71Sopenharmony_ci 3916e41f4b71Sopenharmony_ciasync function example() { 3917e41f4b71Sopenharmony_ci console.info('setEditDataDemo'); 3918e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 3919e41f4b71Sopenharmony_ci let fetchOption: photoAccessHelper.FetchOptions = { 3920e41f4b71Sopenharmony_ci fetchColumns: [], 3921e41f4b71Sopenharmony_ci predicates: predicates 3922e41f4b71Sopenharmony_ci }; 3923e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOption); 3924e41f4b71Sopenharmony_ci let asset = await fetchResult.getFirstObject(); 3925e41f4b71Sopenharmony_ci let assetChangeRequest: photoAccessHelper.MediaAssetChangeRequest = new photoAccessHelper.MediaAssetChangeRequest(asset); 3926e41f4b71Sopenharmony_ci 3927e41f4b71Sopenharmony_ci let assetEditData: photoAccessHelper.MediaAssetEditData = new photoAccessHelper.MediaAssetEditData('system', '1.0'); 3928e41f4b71Sopenharmony_ci let fileUri = 'file://com.example.temptest/data/storage/el2/base/haps/entry/files/test.jpg'; 3929e41f4b71Sopenharmony_ci assetChangeRequest.addResource(photoAccessHelper.ResourceType.IMAGE_RESOURCE, fileUri); 3930e41f4b71Sopenharmony_ci assetEditData.data = '123456'; 3931e41f4b71Sopenharmony_ci assetChangeRequest.setEditData(assetEditData); 3932e41f4b71Sopenharmony_ci phAccessHelper.applyChanges(assetChangeRequest).then(() => { 3933e41f4b71Sopenharmony_ci console.info('apply setEditData successfully'); 3934e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 3935e41f4b71Sopenharmony_ci console.error(`apply setEditData failed with error: ${err.code}, ${err.message}`); 3936e41f4b71Sopenharmony_ci }); 3937e41f4b71Sopenharmony_ci} 3938e41f4b71Sopenharmony_ci``` 3939e41f4b71Sopenharmony_ci 3940e41f4b71Sopenharmony_ci### addResource<sup>11+</sup> 3941e41f4b71Sopenharmony_ci 3942e41f4b71Sopenharmony_ciaddResource(type: ResourceType, proxy: PhotoProxy): void 3943e41f4b71Sopenharmony_ci 3944e41f4b71Sopenharmony_ciAdds resources using **PhotoProxy** data. 3945e41f4b71Sopenharmony_ci 3946e41f4b71Sopenharmony_ci> **NOTE**<br>For the same asset change request, this API cannot be repeatedly called after resources are successfully added. 3947e41f4b71Sopenharmony_ci 3948e41f4b71Sopenharmony_ci**System API**: This is a system API available only for camera applications. 3949e41f4b71Sopenharmony_ci 3950e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 3951e41f4b71Sopenharmony_ci 3952e41f4b71Sopenharmony_ci**Parameters** 3953e41f4b71Sopenharmony_ci 3954e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 3955e41f4b71Sopenharmony_ci| ------- |---------------------------------| ---- |----------------------| 3956e41f4b71Sopenharmony_ci| type | [ResourceType](#resourcetype11) | Yes | Type of the resource to add. | 3957e41f4b71Sopenharmony_ci| proxy | [PhotoProxy](#photoproxy11) | Yes | PhotoProxy data of the resource to add.| 3958e41f4b71Sopenharmony_ci 3959e41f4b71Sopenharmony_ci**Error codes** 3960e41f4b71Sopenharmony_ci 3961e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 3962e41f4b71Sopenharmony_ci 3963e41f4b71Sopenharmony_ci| ID | Error Message | 3964e41f4b71Sopenharmony_ci|----------|-----------------------------------| 3965e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 3966e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 3967e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 3968e41f4b71Sopenharmony_ci| 14000016 | Operation Not Support. | 3969e41f4b71Sopenharmony_ci 3970e41f4b71Sopenharmony_ci**Example** 3971e41f4b71Sopenharmony_ci 3972e41f4b71Sopenharmony_ci```ts 3973e41f4b71Sopenharmony_ciclass PhotoProxyImpl implements photoAccessHelper.PhotoProxy { 3974e41f4b71Sopenharmony_ci // Implement PhotoProxy. 3975e41f4b71Sopenharmony_ci} 3976e41f4b71Sopenharmony_ci 3977e41f4b71Sopenharmony_ciasync function example() { 3978e41f4b71Sopenharmony_ci console.info('addResourceByPhotoProxyDemo'); 3979e41f4b71Sopenharmony_ci try { 3980e41f4b71Sopenharmony_ci let photoType: photoAccessHelper.PhotoType = photoAccessHelper.PhotoType.IMAGE; 3981e41f4b71Sopenharmony_ci let extension: string = 'jpg'; 3982e41f4b71Sopenharmony_ci let assetChangeRequest: photoAccessHelper.MediaAssetChangeRequest = photoAccessHelper.MediaAssetChangeRequest.createAssetRequest(context, photoType, extension); 3983e41f4b71Sopenharmony_ci let photoProxy: PhotoProxyImpl = new PhotoProxyImpl(); 3984e41f4b71Sopenharmony_ci assetChangeRequest.addResource(photoAccessHelper.ResourceType.IMAGE_RESOURCE, photoProxy); 3985e41f4b71Sopenharmony_ci await phAccessHelper.applyChanges(assetChangeRequest); 3986e41f4b71Sopenharmony_ci console.info('addResourceByPhotoProxy successfully'); 3987e41f4b71Sopenharmony_ci } catch (err) { 3988e41f4b71Sopenharmony_ci console.error(`addResourceByPhotoProxyDemo failed with error: ${err.code}, ${err.message}`); 3989e41f4b71Sopenharmony_ci } 3990e41f4b71Sopenharmony_ci} 3991e41f4b71Sopenharmony_ci``` 3992e41f4b71Sopenharmony_ci 3993e41f4b71Sopenharmony_ci### setLocation<sup>11+</sup> 3994e41f4b71Sopenharmony_ci 3995e41f4b71Sopenharmony_cisetLocation(longitude: number, latitude: number): void 3996e41f4b71Sopenharmony_ci 3997e41f4b71Sopenharmony_ciSets location information. 3998e41f4b71Sopenharmony_ci 3999e41f4b71Sopenharmony_ci**System API**: This is a system API. 4000e41f4b71Sopenharmony_ci 4001e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 4002e41f4b71Sopenharmony_ci 4003e41f4b71Sopenharmony_ci**Parameters** 4004e41f4b71Sopenharmony_ci 4005e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 4006e41f4b71Sopenharmony_ci| ------- |-------------| ---- |-------| 4007e41f4b71Sopenharmony_ci| longitude | number | Yes | Longitude.| 4008e41f4b71Sopenharmony_ci| latitude | number | Yes | Latitude. | 4009e41f4b71Sopenharmony_ci 4010e41f4b71Sopenharmony_ci**Error codes** 4011e41f4b71Sopenharmony_ci 4012e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 4013e41f4b71Sopenharmony_ci 4014e41f4b71Sopenharmony_ci| ID| Error Message| 4015e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 4016e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 4017e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 4018e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 4019e41f4b71Sopenharmony_ci 4020e41f4b71Sopenharmony_ci**Example** 4021e41f4b71Sopenharmony_ci 4022e41f4b71Sopenharmony_ci```ts 4023e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 4024e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 4025e41f4b71Sopenharmony_ci 4026e41f4b71Sopenharmony_ciasync function example() { 4027e41f4b71Sopenharmony_ci console.info('setLocationDemo'); 4028e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 4029e41f4b71Sopenharmony_ci let fetchOption: photoAccessHelper.FetchOptions = { 4030e41f4b71Sopenharmony_ci fetchColumns: [], 4031e41f4b71Sopenharmony_ci predicates: predicates 4032e41f4b71Sopenharmony_ci }; 4033e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOption); 4034e41f4b71Sopenharmony_ci let asset = await fetchResult.getFirstObject(); 4035e41f4b71Sopenharmony_ci let assetChangeRequest: photoAccessHelper.MediaAssetChangeRequest = new photoAccessHelper.MediaAssetChangeRequest(asset); 4036e41f4b71Sopenharmony_ci assetChangeRequest.setLocation(120.52, 30.40); 4037e41f4b71Sopenharmony_ci phAccessHelper.applyChanges(assetChangeRequest).then(() => { 4038e41f4b71Sopenharmony_ci console.info('apply setLocation successfully'); 4039e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 4040e41f4b71Sopenharmony_ci console.error(`apply setLocation failed with error: ${err.code}, ${err.message}`); 4041e41f4b71Sopenharmony_ci }); 4042e41f4b71Sopenharmony_ci} 4043e41f4b71Sopenharmony_ci``` 4044e41f4b71Sopenharmony_ci 4045e41f4b71Sopenharmony_ci### setCameraShotKey<sup>12+</sup> 4046e41f4b71Sopenharmony_ci 4047e41f4b71Sopenharmony_cisetCameraShotKey(cameraShotKey: string): void 4048e41f4b71Sopenharmony_ci 4049e41f4b71Sopenharmony_ciSets the Key for the Ultra Snapshot feature, which allows the camera to take photos or record videos with the screen off. 4050e41f4b71Sopenharmony_ci 4051e41f4b71Sopenharmony_ci**System API**: This is a system API. 4052e41f4b71Sopenharmony_ci 4053e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 4054e41f4b71Sopenharmony_ci 4055e41f4b71Sopenharmony_ci**Parameters** 4056e41f4b71Sopenharmony_ci 4057e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 4058e41f4b71Sopenharmony_ci| ---------- | ------- | ---- | ---------------------------------- | 4059e41f4b71Sopenharmony_ci| cameraShotKey | string | Yes | Key for the Ultra Snapshot feature.<br>This parameter is available only for the system camera, and the key value is defined by the system camera.| 4060e41f4b71Sopenharmony_ci 4061e41f4b71Sopenharmony_ci**Error codes** 4062e41f4b71Sopenharmony_ci 4063e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 4064e41f4b71Sopenharmony_ci 4065e41f4b71Sopenharmony_ci| ID| Error Message| 4066e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 4067e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 4068e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 4069e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 4070e41f4b71Sopenharmony_ci 4071e41f4b71Sopenharmony_ci**Example** 4072e41f4b71Sopenharmony_ci 4073e41f4b71Sopenharmony_ci```ts 4074e41f4b71Sopenharmony_ciasync function example(asset: photoAccessHelper.PhotoAsset) { 4075e41f4b71Sopenharmony_ci console.info('setCameraShotKeyDemo'); 4076e41f4b71Sopenharmony_ci try { 4077e41f4b71Sopenharmony_ci let assetChangeRequest: photoAccessHelper.MediaAssetChangeRequest = new photoAccessHelper.MediaAssetChangeRequest(asset); 4078e41f4b71Sopenharmony_ci let cameraShotKey: string = 'test_MediaAssetChangeRequest_setCameraShotKey'; 4079e41f4b71Sopenharmony_ci assetChangeRequest.setCameraShotKey(cameraShotKey); 4080e41f4b71Sopenharmony_ci await phAccessHelper.applyChanges(assetChangeRequest); 4081e41f4b71Sopenharmony_ci console.info('apply setCameraShotKey successfully'); 4082e41f4b71Sopenharmony_ci } catch (err) { 4083e41f4b71Sopenharmony_ci console.error(`apply setCameraShotKey failed with error: ${err.code}, ${err.message}`); 4084e41f4b71Sopenharmony_ci } 4085e41f4b71Sopenharmony_ci} 4086e41f4b71Sopenharmony_ci``` 4087e41f4b71Sopenharmony_ci 4088e41f4b71Sopenharmony_ci### setEffectMode<sup>12+</sup> 4089e41f4b71Sopenharmony_ci 4090e41f4b71Sopenharmony_cisetEffectMode(mode: MovingPhotoEffectMode): void 4091e41f4b71Sopenharmony_ci 4092e41f4b71Sopenharmony_ciSets the effect of this moving photo. 4093e41f4b71Sopenharmony_ci 4094e41f4b71Sopenharmony_ci**System API**: This is a system API. 4095e41f4b71Sopenharmony_ci 4096e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 4097e41f4b71Sopenharmony_ci 4098e41f4b71Sopenharmony_ci**Parameters** 4099e41f4b71Sopenharmony_ci 4100e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 4101e41f4b71Sopenharmony_ci| ---------- | ------- | ---- | ---------------------------------- | 4102e41f4b71Sopenharmony_ci| mode | [MovingPhotoEffectMode](#movingphotoeffectmode12) | Yes | Effect to set.| 4103e41f4b71Sopenharmony_ci 4104e41f4b71Sopenharmony_ci**Error codes** 4105e41f4b71Sopenharmony_ci 4106e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 4107e41f4b71Sopenharmony_ci 4108e41f4b71Sopenharmony_ci| ID| Error Message| 4109e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 4110e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 4111e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 4112e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 4113e41f4b71Sopenharmony_ci| 14000016 | Operation Not Support. | 4114e41f4b71Sopenharmony_ci 4115e41f4b71Sopenharmony_ci**Example** 4116e41f4b71Sopenharmony_ci 4117e41f4b71Sopenharmony_ci```ts 4118e41f4b71Sopenharmony_ciasync function example(asset: photoAccessHelper.PhotoAsset) { 4119e41f4b71Sopenharmony_ci console.info('setEffectModeDemo'); 4120e41f4b71Sopenharmony_ci try { 4121e41f4b71Sopenharmony_ci let assetChangeRequest: photoAccessHelper.MediaAssetChangeRequest = new photoAccessHelper.MediaAssetChangeRequest(asset); 4122e41f4b71Sopenharmony_ci assetChangeRequest.setEffectMode(photoAccessHelper.MovingPhotoEffectMode.LONG_EXPOSURE); 4123e41f4b71Sopenharmony_ci // Ensure that the asset specified by fileUri exists. 4124e41f4b71Sopenharmony_ci let imageFileUri = 'file://com.example.temptest/data/storage/el2/base/haps/entry/files/long_exposure.jpg'; 4125e41f4b71Sopenharmony_ci let videoFileUri = 'file://com.example.temptest/data/storage/el2/base/haps/entry/files/long_exposure.mp4'; 4126e41f4b71Sopenharmony_ci assetChangeRequest.addResource(photoAccessHelper.ResourceType.IMAGE_RESOURCE, imageFileUri); 4127e41f4b71Sopenharmony_ci assetChangeRequest.addResource(photoAccessHelper.ResourceType.VIDEO_RESOURCE, videoFileUri); 4128e41f4b71Sopenharmony_ci await phAccessHelper.applyChanges(assetChangeRequest); 4129e41f4b71Sopenharmony_ci console.info('apply setEffectMode successfully'); 4130e41f4b71Sopenharmony_ci } catch (err) { 4131e41f4b71Sopenharmony_ci console.error(`apply setEffectMode failed with error: ${err.code}, ${err.message}`); 4132e41f4b71Sopenharmony_ci } 4133e41f4b71Sopenharmony_ci} 4134e41f4b71Sopenharmony_ci``` 4135e41f4b71Sopenharmony_ci 4136e41f4b71Sopenharmony_ci## MediaAssetsChangeRequest<sup>11+</sup> 4137e41f4b71Sopenharmony_ci 4138e41f4b71Sopenharmony_ciRepresents a request for changing multiple assets. 4139e41f4b71Sopenharmony_ci 4140e41f4b71Sopenharmony_ci**System API**: This is a system API. 4141e41f4b71Sopenharmony_ci 4142e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 4143e41f4b71Sopenharmony_ci 4144e41f4b71Sopenharmony_ci### constructor<sup>11+</sup> 4145e41f4b71Sopenharmony_ci 4146e41f4b71Sopenharmony_ciconstructor(assets: Array<PhotoAsset>) 4147e41f4b71Sopenharmony_ci 4148e41f4b71Sopenharmony_ciConstructor. 4149e41f4b71Sopenharmony_ci 4150e41f4b71Sopenharmony_ci**System API**: This is a system API. 4151e41f4b71Sopenharmony_ci 4152e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 4153e41f4b71Sopenharmony_ci 4154e41f4b71Sopenharmony_ci**Parameters** 4155e41f4b71Sopenharmony_ci 4156e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 4157e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ---------- | 4158e41f4b71Sopenharmony_ci| assets | Array<[PhotoAsset](#photoasset)> | Yes | Assets to change.| 4159e41f4b71Sopenharmony_ci 4160e41f4b71Sopenharmony_ci**Error codes** 4161e41f4b71Sopenharmony_ci 4162e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 4163e41f4b71Sopenharmony_ci 4164e41f4b71Sopenharmony_ci| ID| Error Message| 4165e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 4166e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 4167e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 4168e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 4169e41f4b71Sopenharmony_ci 4170e41f4b71Sopenharmony_ci**Example** 4171e41f4b71Sopenharmony_ci 4172e41f4b71Sopenharmony_ci```ts 4173e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 4174e41f4b71Sopenharmony_ci 4175e41f4b71Sopenharmony_ciasync function example() { 4176e41f4b71Sopenharmony_ci console.info('MediaAssetsChangeRequest constructorDemo'); 4177e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 4178e41f4b71Sopenharmony_ci let fetchOption: photoAccessHelper.FetchOptions = { 4179e41f4b71Sopenharmony_ci fetchColumns: [], 4180e41f4b71Sopenharmony_ci predicates: predicates 4181e41f4b71Sopenharmony_ci }; 4182e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOption); 4183e41f4b71Sopenharmony_ci let photoAssetList: Array<photoAccessHelper.PhotoAsset> = await fetchResult.getAllObjects(); 4184e41f4b71Sopenharmony_ci let assetsChangeRequest: photoAccessHelper.MediaAssetsChangeRequest = new photoAccessHelper.MediaAssetsChangeRequest(photoAssetList); 4185e41f4b71Sopenharmony_ci} 4186e41f4b71Sopenharmony_ci``` 4187e41f4b71Sopenharmony_ci 4188e41f4b71Sopenharmony_ci### setFavorite<sup>11+</sup> 4189e41f4b71Sopenharmony_ci 4190e41f4b71Sopenharmony_cisetFavorite(favoriteState: boolean): void 4191e41f4b71Sopenharmony_ci 4192e41f4b71Sopenharmony_ciFavorites or unfavorites this file. 4193e41f4b71Sopenharmony_ci 4194e41f4b71Sopenharmony_ci**System API**: This is a system API. 4195e41f4b71Sopenharmony_ci 4196e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 4197e41f4b71Sopenharmony_ci 4198e41f4b71Sopenharmony_ci**Parameters** 4199e41f4b71Sopenharmony_ci 4200e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 4201e41f4b71Sopenharmony_ci| ---------- | ------- | ---- | ---------------------------------- | 4202e41f4b71Sopenharmony_ci| favoriteState | boolean | Yes | Operation to perform. The value **true** means to favorite the file, and **false** means the opposite.| 4203e41f4b71Sopenharmony_ci 4204e41f4b71Sopenharmony_ci**Error codes** 4205e41f4b71Sopenharmony_ci 4206e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 4207e41f4b71Sopenharmony_ci 4208e41f4b71Sopenharmony_ci| ID| Error Message| 4209e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 4210e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 4211e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 4212e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 4213e41f4b71Sopenharmony_ci 4214e41f4b71Sopenharmony_ci**Example** 4215e41f4b71Sopenharmony_ci 4216e41f4b71Sopenharmony_ci```ts 4217e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 4218e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 4219e41f4b71Sopenharmony_ci 4220e41f4b71Sopenharmony_ciasync function example() { 4221e41f4b71Sopenharmony_ci console.info('setFavoriteDemo'); 4222e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 4223e41f4b71Sopenharmony_ci let fetchOption: photoAccessHelper.FetchOptions = { 4224e41f4b71Sopenharmony_ci fetchColumns: [], 4225e41f4b71Sopenharmony_ci predicates: predicates 4226e41f4b71Sopenharmony_ci }; 4227e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOption); 4228e41f4b71Sopenharmony_ci let photoAssetList: Array<photoAccessHelper.PhotoAsset> = await fetchResult.getAllObjects(); 4229e41f4b71Sopenharmony_ci let assetsChangeRequest: photoAccessHelper.MediaAssetsChangeRequest = new photoAccessHelper.MediaAssetsChangeRequest(photoAssetList); 4230e41f4b71Sopenharmony_ci assetsChangeRequest.setFavorite(true); 4231e41f4b71Sopenharmony_ci phAccessHelper.applyChanges(assetsChangeRequest).then(() => { 4232e41f4b71Sopenharmony_ci console.info('apply setFavorite successfully'); 4233e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 4234e41f4b71Sopenharmony_ci console.error(`apply setFavorite failed with error: ${err.code}, ${err.message}`); 4235e41f4b71Sopenharmony_ci }); 4236e41f4b71Sopenharmony_ci} 4237e41f4b71Sopenharmony_ci``` 4238e41f4b71Sopenharmony_ci 4239e41f4b71Sopenharmony_ci### setHidden<sup>11+</sup> 4240e41f4b71Sopenharmony_ci 4241e41f4b71Sopenharmony_cisetHidden(hiddenState: boolean): void 4242e41f4b71Sopenharmony_ci 4243e41f4b71Sopenharmony_ciHides this file. 4244e41f4b71Sopenharmony_ci 4245e41f4b71Sopenharmony_ci**System API**: This is a system API. 4246e41f4b71Sopenharmony_ci 4247e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 4248e41f4b71Sopenharmony_ci 4249e41f4b71Sopenharmony_ci**Parameters** 4250e41f4b71Sopenharmony_ci 4251e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 4252e41f4b71Sopenharmony_ci| ---------- | ------- | ---- | ---------------------------------- | 4253e41f4b71Sopenharmony_ci| hiddenState | boolean | Yes | Whether to hide the file. The value **true** means to hide the file; the value **false** means the opposite.| 4254e41f4b71Sopenharmony_ci 4255e41f4b71Sopenharmony_ci**Error codes** 4256e41f4b71Sopenharmony_ci 4257e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 4258e41f4b71Sopenharmony_ci 4259e41f4b71Sopenharmony_ci| ID| Error Message| 4260e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 4261e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 4262e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 4263e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 4264e41f4b71Sopenharmony_ci 4265e41f4b71Sopenharmony_ci**Example** 4266e41f4b71Sopenharmony_ci 4267e41f4b71Sopenharmony_ci```ts 4268e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 4269e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 4270e41f4b71Sopenharmony_ci 4271e41f4b71Sopenharmony_ciasync function example() { 4272e41f4b71Sopenharmony_ci console.info('setHiddenDemo'); 4273e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 4274e41f4b71Sopenharmony_ci let fetchOption: photoAccessHelper.FetchOptions = { 4275e41f4b71Sopenharmony_ci fetchColumns: [], 4276e41f4b71Sopenharmony_ci predicates: predicates 4277e41f4b71Sopenharmony_ci }; 4278e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOption); 4279e41f4b71Sopenharmony_ci let photoAssetList: Array<photoAccessHelper.PhotoAsset> = await fetchResult.getAllObjects(); 4280e41f4b71Sopenharmony_ci let assetsChangeRequest: photoAccessHelper.MediaAssetsChangeRequest = new photoAccessHelper.MediaAssetsChangeRequest(photoAssetList); 4281e41f4b71Sopenharmony_ci assetsChangeRequest.setHidden(true); 4282e41f4b71Sopenharmony_ci phAccessHelper.applyChanges(assetsChangeRequest).then(() => { 4283e41f4b71Sopenharmony_ci console.info('apply setHidden successfully'); 4284e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 4285e41f4b71Sopenharmony_ci console.error(`apply setHidden failed with error: ${err.code}, ${err.message}`); 4286e41f4b71Sopenharmony_ci }); 4287e41f4b71Sopenharmony_ci} 4288e41f4b71Sopenharmony_ci``` 4289e41f4b71Sopenharmony_ci 4290e41f4b71Sopenharmony_ci### setUserComment<sup>11+</sup> 4291e41f4b71Sopenharmony_ci 4292e41f4b71Sopenharmony_cisetUserComment(userComment: string): void 4293e41f4b71Sopenharmony_ci 4294e41f4b71Sopenharmony_ciSets the user comment information of this media asset. 4295e41f4b71Sopenharmony_ci 4296e41f4b71Sopenharmony_ci**System API**: This is a system API. 4297e41f4b71Sopenharmony_ci 4298e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 4299e41f4b71Sopenharmony_ci 4300e41f4b71Sopenharmony_ci**Parameters** 4301e41f4b71Sopenharmony_ci 4302e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 4303e41f4b71Sopenharmony_ci| ---------- | ------- | ---- | ---------------------------------- | 4304e41f4b71Sopenharmony_ci| userComment | string | Yes | Comment information to set, which cannot exceed 420 characters.| 4305e41f4b71Sopenharmony_ci 4306e41f4b71Sopenharmony_ci**Error codes** 4307e41f4b71Sopenharmony_ci 4308e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 4309e41f4b71Sopenharmony_ci 4310e41f4b71Sopenharmony_ci| ID| Error Message| 4311e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 4312e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 4313e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 4314e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 4315e41f4b71Sopenharmony_ci 4316e41f4b71Sopenharmony_ci**Example** 4317e41f4b71Sopenharmony_ci 4318e41f4b71Sopenharmony_ci```ts 4319e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 4320e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 4321e41f4b71Sopenharmony_ci 4322e41f4b71Sopenharmony_ciasync function example() { 4323e41f4b71Sopenharmony_ci console.info('setUserCommentDemo'); 4324e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 4325e41f4b71Sopenharmony_ci let fetchOption: photoAccessHelper.FetchOptions = { 4326e41f4b71Sopenharmony_ci fetchColumns: [], 4327e41f4b71Sopenharmony_ci predicates: predicates 4328e41f4b71Sopenharmony_ci }; 4329e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOption); 4330e41f4b71Sopenharmony_ci let photoAssetList: Array<photoAccessHelper.PhotoAsset> = await fetchResult.getAllObjects(); 4331e41f4b71Sopenharmony_ci let assetsChangeRequest: photoAccessHelper.MediaAssetsChangeRequest = new photoAccessHelper.MediaAssetsChangeRequest(photoAssetList); 4332e41f4b71Sopenharmony_ci assetsChangeRequest.setUserComment('test_set_user_comment'); 4333e41f4b71Sopenharmony_ci phAccessHelper.applyChanges(assetsChangeRequest).then(() => { 4334e41f4b71Sopenharmony_ci console.info('apply setUserComment successfully'); 4335e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 4336e41f4b71Sopenharmony_ci console.error(`apply setUserComment failed with error: ${err.code}, ${err.message}`); 4337e41f4b71Sopenharmony_ci }); 4338e41f4b71Sopenharmony_ci} 4339e41f4b71Sopenharmony_ci``` 4340e41f4b71Sopenharmony_ci 4341e41f4b71Sopenharmony_ci## MediaAlbumChangeRequest<sup>11+</sup> 4342e41f4b71Sopenharmony_ci 4343e41f4b71Sopenharmony_ciProvides APIs for managing the media album change request. 4344e41f4b71Sopenharmony_ci 4345e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 4346e41f4b71Sopenharmony_ci 4347e41f4b71Sopenharmony_ci### createAlbumRequest<sup>11+</sup> 4348e41f4b71Sopenharmony_ci 4349e41f4b71Sopenharmony_cistatic createAlbumRequest(context: Context, name: string): MediaAlbumChangeRequest 4350e41f4b71Sopenharmony_ci 4351e41f4b71Sopenharmony_ciCreates a **MediaAlbumChangeRequest** instance. 4352e41f4b71Sopenharmony_ci 4353e41f4b71Sopenharmony_ciThe album name must comply with the following specifications: 4354e41f4b71Sopenharmony_ci- The album name cannot exceed 255 characters. 4355e41f4b71Sopenharmony_ci- The album name cannot contain any of the following characters:<br> . .. \ / : * ? " ' ` < > | { } [ ] 4356e41f4b71Sopenharmony_ci- The album name is case-insensitive. 4357e41f4b71Sopenharmony_ci- Duplicate album names are not allowed. 4358e41f4b71Sopenharmony_ci 4359e41f4b71Sopenharmony_ci**System API**: This is a system API. 4360e41f4b71Sopenharmony_ci 4361e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 4362e41f4b71Sopenharmony_ci 4363e41f4b71Sopenharmony_ci**Parameters** 4364e41f4b71Sopenharmony_ci 4365e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 4366e41f4b71Sopenharmony_ci| ------- | ------- | ---- | -------------------------- | 4367e41f4b71Sopenharmony_ci| context | [Context](../apis-ability-kit/js-apis-inner-application-context.md) | Yes | Context of the ability instance.| 4368e41f4b71Sopenharmony_ci| name | string | Yes | Name of the album.| 4369e41f4b71Sopenharmony_ci 4370e41f4b71Sopenharmony_ci**Return value** 4371e41f4b71Sopenharmony_ci 4372e41f4b71Sopenharmony_ci| Type | Description | 4373e41f4b71Sopenharmony_ci| --------------------------------------- | ----------------- | 4374e41f4b71Sopenharmony_ci| [MediaAlbumChangeRequest](#mediaalbumchangerequest11) | **MediaAlbumChangeRequest** instance created.| 4375e41f4b71Sopenharmony_ci 4376e41f4b71Sopenharmony_ci**Error codes** 4377e41f4b71Sopenharmony_ci 4378e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 4379e41f4b71Sopenharmony_ci 4380e41f4b71Sopenharmony_ci| ID| Error Message| 4381e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 4382e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 4383e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 4384e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 4385e41f4b71Sopenharmony_ci 4386e41f4b71Sopenharmony_ci**Example** 4387e41f4b71Sopenharmony_ci 4388e41f4b71Sopenharmony_ci```ts 4389e41f4b71Sopenharmony_ciasync function example() { 4390e41f4b71Sopenharmony_ci console.info('createAlbumRequestDemo'); 4391e41f4b71Sopenharmony_ci try { 4392e41f4b71Sopenharmony_ci let albumName: string = 'newAlbumName' + new Date().getTime(); 4393e41f4b71Sopenharmony_ci let albumChangeRequest: photoAccessHelper.MediaAlbumChangeRequest = photoAccessHelper.MediaAlbumChangeRequest.createAlbumRequest(context, albumName); 4394e41f4b71Sopenharmony_ci await phAccessHelper.applyChanges(albumChangeRequest); 4395e41f4b71Sopenharmony_ci console.info('apply createAlbumRequest successfully'); 4396e41f4b71Sopenharmony_ci } catch (err) { 4397e41f4b71Sopenharmony_ci console.error(`createAlbumRequestDemo failed with error: ${err.code}, ${err.message}`); 4398e41f4b71Sopenharmony_ci } 4399e41f4b71Sopenharmony_ci} 4400e41f4b71Sopenharmony_ci``` 4401e41f4b71Sopenharmony_ci 4402e41f4b71Sopenharmony_ci### deleteAlbums<sup>11+</sup> 4403e41f4b71Sopenharmony_ci 4404e41f4b71Sopenharmony_cistatic deleteAlbums(context: Context, albums: Array<Album>): Promise<void> 4405e41f4b71Sopenharmony_ci 4406e41f4b71Sopenharmony_ciDeletes albums. This API uses a promise to return the result. 4407e41f4b71Sopenharmony_ci 4408e41f4b71Sopenharmony_ciEnsure that the albums to be deleted exist. Only user albums can be deleted. 4409e41f4b71Sopenharmony_ci 4410e41f4b71Sopenharmony_ci**System API**: This is a system API. 4411e41f4b71Sopenharmony_ci 4412e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.WRITE_IMAGEVIDEO 4413e41f4b71Sopenharmony_ci 4414e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 4415e41f4b71Sopenharmony_ci 4416e41f4b71Sopenharmony_ci**Parameters** 4417e41f4b71Sopenharmony_ci 4418e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 4419e41f4b71Sopenharmony_ci| ------- | ------- | ---- | -------------------------- | 4420e41f4b71Sopenharmony_ci| context | [Context](../apis-ability-kit/js-apis-inner-application-context.md) | Yes | Context of the ability instance.| 4421e41f4b71Sopenharmony_ci| albums | Array<[Album](#album)> | Yes | Albums to delete. | 4422e41f4b71Sopenharmony_ci 4423e41f4b71Sopenharmony_ci**Return value** 4424e41f4b71Sopenharmony_ci 4425e41f4b71Sopenharmony_ci| Type | Description | 4426e41f4b71Sopenharmony_ci| --------------------------------------- | ----------------- | 4427e41f4b71Sopenharmony_ci| Promise<void>| Promise that returns no value.| 4428e41f4b71Sopenharmony_ci 4429e41f4b71Sopenharmony_ci**Error codes** 4430e41f4b71Sopenharmony_ci 4431e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 4432e41f4b71Sopenharmony_ci 4433e41f4b71Sopenharmony_ci| ID| Error Message| 4434e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 4435e41f4b71Sopenharmony_ci| 201 | Permission denied. | 4436e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 4437e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 4438e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 4439e41f4b71Sopenharmony_ci 4440e41f4b71Sopenharmony_ci**Example** 4441e41f4b71Sopenharmony_ci 4442e41f4b71Sopenharmony_ci```ts 4443e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 4444e41f4b71Sopenharmony_ci 4445e41f4b71Sopenharmony_ciasync function example() { 4446e41f4b71Sopenharmony_ci console.info('deleteAlbumsDemo'); 4447e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 4448e41f4b71Sopenharmony_ci let fetchOptions: photoAccessHelper.FetchOptions = { 4449e41f4b71Sopenharmony_ci fetchColumns: [], 4450e41f4b71Sopenharmony_ci predicates: predicates 4451e41f4b71Sopenharmony_ci }; 4452e41f4b71Sopenharmony_ci try { 4453e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.USER, photoAccessHelper.AlbumSubtype.USER_GENERIC, fetchOptions); 4454e41f4b71Sopenharmony_ci let album: photoAccessHelper.Album = await fetchResult.getFirstObject(); 4455e41f4b71Sopenharmony_ci await photoAccessHelper.MediaAlbumChangeRequest.deleteAlbums(context, [album]); 4456e41f4b71Sopenharmony_ci console.info('deleteAlbums successfully'); 4457e41f4b71Sopenharmony_ci } catch (err) { 4458e41f4b71Sopenharmony_ci console.error(`deleteAlbumsDemo failed with error: ${err.code}, ${err.message}`); 4459e41f4b71Sopenharmony_ci } 4460e41f4b71Sopenharmony_ci} 4461e41f4b71Sopenharmony_ci``` 4462e41f4b71Sopenharmony_ci 4463e41f4b71Sopenharmony_ci### setCoverUri<sup>11+</sup> 4464e41f4b71Sopenharmony_ci 4465e41f4b71Sopenharmony_cisetCoverUri(coverUri: string): void 4466e41f4b71Sopenharmony_ci 4467e41f4b71Sopenharmony_ciSets the album cover. 4468e41f4b71Sopenharmony_ci 4469e41f4b71Sopenharmony_ci**System API**: This is a system API. 4470e41f4b71Sopenharmony_ci 4471e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 4472e41f4b71Sopenharmony_ci 4473e41f4b71Sopenharmony_ci**Parameters** 4474e41f4b71Sopenharmony_ci 4475e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 4476e41f4b71Sopenharmony_ci| ---------- | ------- | ---- | ---------------------------------- | 4477e41f4b71Sopenharmony_ci| coverUri | string | Yes | URI of the file to be set as the album cover.| 4478e41f4b71Sopenharmony_ci 4479e41f4b71Sopenharmony_ci**Error codes** 4480e41f4b71Sopenharmony_ci 4481e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 4482e41f4b71Sopenharmony_ci 4483e41f4b71Sopenharmony_ci| ID| Error Message| 4484e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 4485e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 4486e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 4487e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 4488e41f4b71Sopenharmony_ci 4489e41f4b71Sopenharmony_ci**Example** 4490e41f4b71Sopenharmony_ci 4491e41f4b71Sopenharmony_ci```ts 4492e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 4493e41f4b71Sopenharmony_ci 4494e41f4b71Sopenharmony_ciasync function example() { 4495e41f4b71Sopenharmony_ci console.info('setCoverUriDemo'); 4496e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 4497e41f4b71Sopenharmony_ci let fetchOptions: photoAccessHelper.FetchOptions = { 4498e41f4b71Sopenharmony_ci fetchColumns: [], 4499e41f4b71Sopenharmony_ci predicates: predicates 4500e41f4b71Sopenharmony_ci }; 4501e41f4b71Sopenharmony_ci try { 4502e41f4b71Sopenharmony_ci let albumFetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.USER, photoAccessHelper.AlbumSubtype.USER_GENERIC); 4503e41f4b71Sopenharmony_ci let album: photoAccessHelper.Album = await albumFetchResult.getFirstObject(); 4504e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await album.getAssets(fetchOptions); 4505e41f4b71Sopenharmony_ci let asset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject(); 4506e41f4b71Sopenharmony_ci 4507e41f4b71Sopenharmony_ci let albumChangeRequest: photoAccessHelper.MediaAlbumChangeRequest = new photoAccessHelper.MediaAlbumChangeRequest(album); 4508e41f4b71Sopenharmony_ci albumChangeRequest.setCoverUri(asset.uri); 4509e41f4b71Sopenharmony_ci await phAccessHelper.applyChanges(albumChangeRequest); 4510e41f4b71Sopenharmony_ci console.info('setCoverUri successfully'); 4511e41f4b71Sopenharmony_ci } catch (err) { 4512e41f4b71Sopenharmony_ci console.error(`setCoverUriDemo failed with error: ${err.code}, ${err.message}`); 4513e41f4b71Sopenharmony_ci } 4514e41f4b71Sopenharmony_ci} 4515e41f4b71Sopenharmony_ci``` 4516e41f4b71Sopenharmony_ci 4517e41f4b71Sopenharmony_ci### moveAssets<sup>11+</sup> 4518e41f4b71Sopenharmony_ci 4519e41f4b71Sopenharmony_cimoveAssets(assets: Array<PhotoAsset>, targetAlbum: Album): void 4520e41f4b71Sopenharmony_ci 4521e41f4b71Sopenharmony_ciMoves assets to another album. 4522e41f4b71Sopenharmony_ci 4523e41f4b71Sopenharmony_ci**System API**: This is a system API. 4524e41f4b71Sopenharmony_ci 4525e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 4526e41f4b71Sopenharmony_ci 4527e41f4b71Sopenharmony_ci**Parameters** 4528e41f4b71Sopenharmony_ci 4529e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 4530e41f4b71Sopenharmony_ci| ---------- | ------- | ---- | ---------------------------------- | 4531e41f4b71Sopenharmony_ci| assets | Array<[PhotoAsset](#photoasset)> | Yes | Assets to move.| 4532e41f4b71Sopenharmony_ci| targetAlbum | Album | Yes | Album to which the assets are to be moved.| 4533e41f4b71Sopenharmony_ci 4534e41f4b71Sopenharmony_ci**Error codes** 4535e41f4b71Sopenharmony_ci 4536e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 4537e41f4b71Sopenharmony_ci 4538e41f4b71Sopenharmony_ci| ID| Error Message| 4539e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 4540e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 4541e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 4542e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 4543e41f4b71Sopenharmony_ci| 14000016 | Operation Not Support. | 4544e41f4b71Sopenharmony_ci 4545e41f4b71Sopenharmony_ci**Example** 4546e41f4b71Sopenharmony_ci 4547e41f4b71Sopenharmony_ci```ts 4548e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 4549e41f4b71Sopenharmony_ci 4550e41f4b71Sopenharmony_ciasync function example() { 4551e41f4b71Sopenharmony_ci console.info('moveAssetsDemo'); 4552e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 4553e41f4b71Sopenharmony_ci let fetchOptions: photoAccessHelper.FetchOptions = { 4554e41f4b71Sopenharmony_ci fetchColumns: [], 4555e41f4b71Sopenharmony_ci predicates: predicates 4556e41f4b71Sopenharmony_ci }; 4557e41f4b71Sopenharmony_ci try { 4558e41f4b71Sopenharmony_ci let albumFetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.USER, photoAccessHelper.AlbumSubtype.USER_GENERIC); 4559e41f4b71Sopenharmony_ci let album: photoAccessHelper.Album = await albumFetchResult.getFirstObject(); 4560e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await album.getAssets(fetchOptions); 4561e41f4b71Sopenharmony_ci let asset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject(); 4562e41f4b71Sopenharmony_ci 4563e41f4b71Sopenharmony_ci if (albumFetchResult.isAfterLast()) { 4564e41f4b71Sopenharmony_ci console.error('lack of album to be moved into'); 4565e41f4b71Sopenharmony_ci return; 4566e41f4b71Sopenharmony_ci } 4567e41f4b71Sopenharmony_ci let nextAlbum: photoAccessHelper.Album = await albumFetchResult.getNextObject(); 4568e41f4b71Sopenharmony_ci let albumChangeRequest: photoAccessHelper.MediaAlbumChangeRequest = new photoAccessHelper.MediaAlbumChangeRequest(album); 4569e41f4b71Sopenharmony_ci albumChangeRequest.moveAssets([asset], nextAlbum); 4570e41f4b71Sopenharmony_ci await phAccessHelper.applyChanges(albumChangeRequest); 4571e41f4b71Sopenharmony_ci console.info('moveAssets successfully'); 4572e41f4b71Sopenharmony_ci } catch (err) { 4573e41f4b71Sopenharmony_ci console.error(`moveAssetsDemo failed with error: ${err.code}, ${err.message}`); 4574e41f4b71Sopenharmony_ci } 4575e41f4b71Sopenharmony_ci} 4576e41f4b71Sopenharmony_ci``` 4577e41f4b71Sopenharmony_ci 4578e41f4b71Sopenharmony_ci### recoverAssets<sup>11+</sup> 4579e41f4b71Sopenharmony_ci 4580e41f4b71Sopenharmony_cirecoverAssets(assets: Array<PhotoAsset>): void 4581e41f4b71Sopenharmony_ci 4582e41f4b71Sopenharmony_ciRecovers assets from the trash. 4583e41f4b71Sopenharmony_ci 4584e41f4b71Sopenharmony_ci**System API**: This is a system API. 4585e41f4b71Sopenharmony_ci 4586e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 4587e41f4b71Sopenharmony_ci 4588e41f4b71Sopenharmony_ci**Parameters** 4589e41f4b71Sopenharmony_ci 4590e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 4591e41f4b71Sopenharmony_ci| ---------- | ------- | ---- | ---------------------------------- | 4592e41f4b71Sopenharmony_ci| assets | Array<[PhotoAsset](#photoasset)> | Yes | Assets to recover.| 4593e41f4b71Sopenharmony_ci 4594e41f4b71Sopenharmony_ci**Error codes** 4595e41f4b71Sopenharmony_ci 4596e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 4597e41f4b71Sopenharmony_ci 4598e41f4b71Sopenharmony_ci| ID| Error Message| 4599e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 4600e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 4601e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 4602e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 4603e41f4b71Sopenharmony_ci| 14000016 | Operation Not Support. | 4604e41f4b71Sopenharmony_ci 4605e41f4b71Sopenharmony_ci**Example** 4606e41f4b71Sopenharmony_ci 4607e41f4b71Sopenharmony_ci```ts 4608e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 4609e41f4b71Sopenharmony_ci 4610e41f4b71Sopenharmony_ciasync function example() { 4611e41f4b71Sopenharmony_ci console.info('recoverAssetsDemo'); 4612e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 4613e41f4b71Sopenharmony_ci let fetchOptions: photoAccessHelper.FetchOptions = { 4614e41f4b71Sopenharmony_ci fetchColumns: [], 4615e41f4b71Sopenharmony_ci predicates: predicates 4616e41f4b71Sopenharmony_ci }; 4617e41f4b71Sopenharmony_ci try { 4618e41f4b71Sopenharmony_ci let albumFetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.SYSTEM, photoAccessHelper.AlbumSubtype.TRASH); 4619e41f4b71Sopenharmony_ci let album: photoAccessHelper.Album = await albumFetchResult.getFirstObject(); 4620e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await album.getAssets(fetchOptions); 4621e41f4b71Sopenharmony_ci let asset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject(); 4622e41f4b71Sopenharmony_ci 4623e41f4b71Sopenharmony_ci let albumChangeRequest: photoAccessHelper.MediaAlbumChangeRequest = new photoAccessHelper.MediaAlbumChangeRequest(album); 4624e41f4b71Sopenharmony_ci albumChangeRequest.recoverAssets([asset]); 4625e41f4b71Sopenharmony_ci await phAccessHelper.applyChanges(albumChangeRequest); 4626e41f4b71Sopenharmony_ci console.info('recoverAssets successfully'); 4627e41f4b71Sopenharmony_ci } catch (err) { 4628e41f4b71Sopenharmony_ci console.error(`recoverAssetsDemo failed with error: ${err.code}, ${err.message}`); 4629e41f4b71Sopenharmony_ci } 4630e41f4b71Sopenharmony_ci} 4631e41f4b71Sopenharmony_ci``` 4632e41f4b71Sopenharmony_ci 4633e41f4b71Sopenharmony_ci### deleteAssets<sup>11+</sup> 4634e41f4b71Sopenharmony_ci 4635e41f4b71Sopenharmony_cideleteAssets(assets: Array<PhotoAsset>): void 4636e41f4b71Sopenharmony_ci 4637e41f4b71Sopenharmony_ciPermanently deletes assets from the trash. 4638e41f4b71Sopenharmony_ci 4639e41f4b71Sopenharmony_ci**NOTE**<br>This operation is irreversible. The file assets deleted cannot be restored. Exercise caution when performing this operation. 4640e41f4b71Sopenharmony_ci 4641e41f4b71Sopenharmony_ci**System API**: This is a system API. 4642e41f4b71Sopenharmony_ci 4643e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 4644e41f4b71Sopenharmony_ci 4645e41f4b71Sopenharmony_ci**Parameters** 4646e41f4b71Sopenharmony_ci 4647e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 4648e41f4b71Sopenharmony_ci| ---------- | ------- | ---- | ---------------------------------- | 4649e41f4b71Sopenharmony_ci| assets | Array<[PhotoAsset](#photoasset)> | Yes | Assets to be permanently deleted.| 4650e41f4b71Sopenharmony_ci 4651e41f4b71Sopenharmony_ci**Error codes** 4652e41f4b71Sopenharmony_ci 4653e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 4654e41f4b71Sopenharmony_ci 4655e41f4b71Sopenharmony_ci| ID| Error Message| 4656e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 4657e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 4658e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 4659e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 4660e41f4b71Sopenharmony_ci| 14000016 | Operation Not Support. | 4661e41f4b71Sopenharmony_ci 4662e41f4b71Sopenharmony_ci**Example** 4663e41f4b71Sopenharmony_ci 4664e41f4b71Sopenharmony_ci```ts 4665e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 4666e41f4b71Sopenharmony_ci 4667e41f4b71Sopenharmony_ciasync function example() { 4668e41f4b71Sopenharmony_ci console.info('deleteAssetsPermanentlyDemo'); 4669e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 4670e41f4b71Sopenharmony_ci let fetchOptions: photoAccessHelper.FetchOptions = { 4671e41f4b71Sopenharmony_ci fetchColumns: [], 4672e41f4b71Sopenharmony_ci predicates: predicates 4673e41f4b71Sopenharmony_ci }; 4674e41f4b71Sopenharmony_ci try { 4675e41f4b71Sopenharmony_ci let albumFetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.SYSTEM, photoAccessHelper.AlbumSubtype.TRASH); 4676e41f4b71Sopenharmony_ci let album: photoAccessHelper.Album = await albumFetchResult.getFirstObject(); 4677e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await album.getAssets(fetchOptions); 4678e41f4b71Sopenharmony_ci let asset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject(); 4679e41f4b71Sopenharmony_ci 4680e41f4b71Sopenharmony_ci let albumChangeRequest: photoAccessHelper.MediaAlbumChangeRequest = new photoAccessHelper.MediaAlbumChangeRequest(album); 4681e41f4b71Sopenharmony_ci albumChangeRequest.deleteAssets([asset]); 4682e41f4b71Sopenharmony_ci await phAccessHelper.applyChanges(albumChangeRequest); 4683e41f4b71Sopenharmony_ci console.info('succeed to deleteAssets permanently'); 4684e41f4b71Sopenharmony_ci } catch (err) { 4685e41f4b71Sopenharmony_ci console.error(`deleteAssetsPermanentlyDemo failed with error: ${err.code}, ${err.message}`); 4686e41f4b71Sopenharmony_ci } 4687e41f4b71Sopenharmony_ci} 4688e41f4b71Sopenharmony_ci``` 4689e41f4b71Sopenharmony_ci 4690e41f4b71Sopenharmony_ci### setDisplayLevel<sup>11+</sup> 4691e41f4b71Sopenharmony_ci 4692e41f4b71Sopenharmony_cisetDisplayLevel(displayLevel: number): void 4693e41f4b71Sopenharmony_ci 4694e41f4b71Sopenharmony_ciSets the display level of the portrait album. 4695e41f4b71Sopenharmony_ci 4696e41f4b71Sopenharmony_ci**System API**: This is a system API. 4697e41f4b71Sopenharmony_ci 4698e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 4699e41f4b71Sopenharmony_ci 4700e41f4b71Sopenharmony_ci**Parameters** 4701e41f4b71Sopenharmony_ci 4702e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 4703e41f4b71Sopenharmony_ci| ---------- | ------- | ---- | ---------------------------------- | 4704e41f4b71Sopenharmony_ci| displayLevel | number | Yes | Display level to set.<br>The options are as follows:<br>**0**: unfavorite the portrait album.<br>**1**: set the portrait album as the first to display.<br>**2**: do not display the portrait album as the first one.<br>**3**: favorite the portrait album.| 4705e41f4b71Sopenharmony_ci 4706e41f4b71Sopenharmony_ci**Error codes** 4707e41f4b71Sopenharmony_ci 4708e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 4709e41f4b71Sopenharmony_ci 4710e41f4b71Sopenharmony_ci| ID| Error Message| 4711e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 4712e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 4713e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 4714e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 4715e41f4b71Sopenharmony_ci 4716e41f4b71Sopenharmony_ci**Example** 4717e41f4b71Sopenharmony_ci 4718e41f4b71Sopenharmony_ci``` ts 4719e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 4720e41f4b71Sopenharmony_ci 4721e41f4b71Sopenharmony_ciasync function example() { 4722e41f4b71Sopenharmony_ci try { 4723e41f4b71Sopenharmony_ci console.info('setDisplayLevel Example') 4724e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 4725e41f4b71Sopenharmony_ci predicates.equalTo('user_display_level', 2); 4726e41f4b71Sopenharmony_ci let fetchOptions: photoAccessHelper.FetchOptions = { 4727e41f4b71Sopenharmony_ci fetchColumns: [], 4728e41f4b71Sopenharmony_ci predicates: predicates 4729e41f4b71Sopenharmony_ci }; 4730e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.SMART, photoAccessHelper.AlbumSubtype.PORTRAIT, fetchOptions); 4731e41f4b71Sopenharmony_ci let album: photoAccessHelper.Album = await fetchResult.getFirstObject(); 4732e41f4b71Sopenharmony_ci let changeRequest: photoAccessHelper.MediaAlbumChangeRequest = new photoAccessHelper.MediaAlbumChangeRequest(album); 4733e41f4b71Sopenharmony_ci changeRequest.setDisplayLevel(1); 4734e41f4b71Sopenharmony_ci await phAccessHelper.applyChanges(changeRequest); 4735e41f4b71Sopenharmony_ci } catch (err) { 4736e41f4b71Sopenharmony_ci console.error(`setDisplayLevel failed with error: ${err.code}, ${err.message}`); 4737e41f4b71Sopenharmony_ci } 4738e41f4b71Sopenharmony_ci} 4739e41f4b71Sopenharmony_ci``` 4740e41f4b71Sopenharmony_ci 4741e41f4b71Sopenharmony_ci### setIsMe<sup>11+</sup> 4742e41f4b71Sopenharmony_ci 4743e41f4b71Sopenharmony_cisetIsMe(): void 4744e41f4b71Sopenharmony_ci 4745e41f4b71Sopenharmony_ciSets the relationship between people in the portrait album to **Me**. 4746e41f4b71Sopenharmony_ci 4747e41f4b71Sopenharmony_ci**System API**: This is a system API. 4748e41f4b71Sopenharmony_ci 4749e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 4750e41f4b71Sopenharmony_ci 4751e41f4b71Sopenharmony_ci**Error codes** 4752e41f4b71Sopenharmony_ci 4753e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 4754e41f4b71Sopenharmony_ci 4755e41f4b71Sopenharmony_ci| ID| Error Message| 4756e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 4757e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 4758e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 4759e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 4760e41f4b71Sopenharmony_ci 4761e41f4b71Sopenharmony_ci**Example** 4762e41f4b71Sopenharmony_ci 4763e41f4b71Sopenharmony_ci``` ts 4764e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 4765e41f4b71Sopenharmony_ci 4766e41f4b71Sopenharmony_ciasync function example() { 4767e41f4b71Sopenharmony_ci try { 4768e41f4b71Sopenharmony_ci console.info('setIsMe Example') 4769e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 4770e41f4b71Sopenharmony_ci predicates.equalTo('user_display_level', 2); 4771e41f4b71Sopenharmony_ci let fetchOptions: photoAccessHelper.FetchOptions = { 4772e41f4b71Sopenharmony_ci fetchColumns: [], 4773e41f4b71Sopenharmony_ci predicates: predicates 4774e41f4b71Sopenharmony_ci }; 4775e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.SMART, photoAccessHelper.AlbumSubtype.PORTRAIT, fetchOptions); 4776e41f4b71Sopenharmony_ci let album: photoAccessHelper.Album = await fetchResult.getFirstObject(); 4777e41f4b71Sopenharmony_ci let changeRequest: photoAccessHelper.MediaAlbumChangeRequest = new photoAccessHelper.MediaAlbumChangeRequest(album); 4778e41f4b71Sopenharmony_ci changeRequest.setIsMe(); 4779e41f4b71Sopenharmony_ci await phAccessHelper.applyChanges(changeRequest); 4780e41f4b71Sopenharmony_ci } catch (err) { 4781e41f4b71Sopenharmony_ci console.error(`setIsMe failed with error: ${err.code}, ${err.message}`); 4782e41f4b71Sopenharmony_ci } 4783e41f4b71Sopenharmony_ci} 4784e41f4b71Sopenharmony_ci``` 4785e41f4b71Sopenharmony_ci 4786e41f4b71Sopenharmony_ci### dismissAssets<sup>11+</sup> 4787e41f4b71Sopenharmony_ci 4788e41f4b71Sopenharmony_cidismissAssets(assets: Array<PhotoAsset>): void 4789e41f4b71Sopenharmony_ci 4790e41f4b71Sopenharmony_ciRemoves assets from this portrait album or group photo album. 4791e41f4b71Sopenharmony_ci 4792e41f4b71Sopenharmony_ci**System API**: This is a system API. 4793e41f4b71Sopenharmony_ci 4794e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 4795e41f4b71Sopenharmony_ci 4796e41f4b71Sopenharmony_ci**Parameters** 4797e41f4b71Sopenharmony_ci 4798e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 4799e41f4b71Sopenharmony_ci| ---------- | ------- | ---- | ---------------------------------- | 4800e41f4b71Sopenharmony_ci| assets | Array<PhotoAsset> | Yes | Assets to remove.| 4801e41f4b71Sopenharmony_ci 4802e41f4b71Sopenharmony_ci**Error codes** 4803e41f4b71Sopenharmony_ci 4804e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 4805e41f4b71Sopenharmony_ci 4806e41f4b71Sopenharmony_ci| ID| Error Message| 4807e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 4808e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 4809e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 4810e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 4811e41f4b71Sopenharmony_ci| 14000016 | Operation Not support. | 4812e41f4b71Sopenharmony_ci 4813e41f4b71Sopenharmony_ci**Example** 4814e41f4b71Sopenharmony_ci 4815e41f4b71Sopenharmony_ci``` ts 4816e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 4817e41f4b71Sopenharmony_ci 4818e41f4b71Sopenharmony_ciasync function example() { 4819e41f4b71Sopenharmony_ci try { 4820e41f4b71Sopenharmony_ci console.info('dismissAssets Example') 4821e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 4822e41f4b71Sopenharmony_ci predicates.equalTo('user_display_level', 2); 4823e41f4b71Sopenharmony_ci let fetchOptions: photoAccessHelper.FetchOptions = { 4824e41f4b71Sopenharmony_ci fetchColumns: [], 4825e41f4b71Sopenharmony_ci predicates: predicates 4826e41f4b71Sopenharmony_ci }; 4827e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.SMART, photoAccessHelper.AlbumSubtype.PORTRAIT, fetchOptions); 4828e41f4b71Sopenharmony_ci let album: photoAccessHelper.Album = await fetchResult.getFirstObject(); 4829e41f4b71Sopenharmony_ci 4830e41f4b71Sopenharmony_ci let predicatesAsset: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 4831e41f4b71Sopenharmony_ci let assetFetchOptions: photoAccessHelper.FetchOptions = { 4832e41f4b71Sopenharmony_ci fetchColumns: [], 4833e41f4b71Sopenharmony_ci predicates: predicatesAsset 4834e41f4b71Sopenharmony_ci }; 4835e41f4b71Sopenharmony_ci let assetFetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(assetFetchOptions); 4836e41f4b71Sopenharmony_ci let asset: photoAccessHelper.PhotoAsset = await assetFetchResult.getFirstObject(); 4837e41f4b71Sopenharmony_ci 4838e41f4b71Sopenharmony_ci let changeRequest: photoAccessHelper.MediaAlbumChangeRequest = new photoAccessHelper.MediaAlbumChangeRequest(album); 4839e41f4b71Sopenharmony_ci changeRequest.dismissAssets([asset]); 4840e41f4b71Sopenharmony_ci await phAccessHelper.applyChanges(changeRequest); 4841e41f4b71Sopenharmony_ci } catch (err) { 4842e41f4b71Sopenharmony_ci console.error(`dismissAssets failed with error: ${err.code}, ${err.message}`); 4843e41f4b71Sopenharmony_ci } 4844e41f4b71Sopenharmony_ci} 4845e41f4b71Sopenharmony_ci``` 4846e41f4b71Sopenharmony_ci 4847e41f4b71Sopenharmony_ci### mergeAlbum<sup>11+</sup> 4848e41f4b71Sopenharmony_ci 4849e41f4b71Sopenharmony_cimergeAlbum(target: Album): void 4850e41f4b71Sopenharmony_ci 4851e41f4b71Sopenharmony_ciMerges two portrait albums. 4852e41f4b71Sopenharmony_ci 4853e41f4b71Sopenharmony_ci**System API**: This is a system API. 4854e41f4b71Sopenharmony_ci 4855e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 4856e41f4b71Sopenharmony_ci 4857e41f4b71Sopenharmony_ci**Parameters** 4858e41f4b71Sopenharmony_ci 4859e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 4860e41f4b71Sopenharmony_ci| ---------- | ------- | ---- | ---------------------------------- | 4861e41f4b71Sopenharmony_ci| target | [Album](#album) | Yes | Album generated after the merge. The album must be renamed.| 4862e41f4b71Sopenharmony_ci 4863e41f4b71Sopenharmony_ci**Error codes** 4864e41f4b71Sopenharmony_ci 4865e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 4866e41f4b71Sopenharmony_ci 4867e41f4b71Sopenharmony_ci| ID| Error Message| 4868e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 4869e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 4870e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 4871e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 4872e41f4b71Sopenharmony_ci| 14000016 | Operation Not support. | 4873e41f4b71Sopenharmony_ci 4874e41f4b71Sopenharmony_ci**Example** 4875e41f4b71Sopenharmony_ci 4876e41f4b71Sopenharmony_ci``` ts 4877e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 4878e41f4b71Sopenharmony_ci 4879e41f4b71Sopenharmony_ciasync function example() { 4880e41f4b71Sopenharmony_ci try { 4881e41f4b71Sopenharmony_ci console.info('mergeAlbum Example') 4882e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 4883e41f4b71Sopenharmony_ci predicates.equalTo('user_display_level', 2); 4884e41f4b71Sopenharmony_ci let fetchOptions: photoAccessHelper.FetchOptions = { 4885e41f4b71Sopenharmony_ci fetchColumns: [], 4886e41f4b71Sopenharmony_ci predicates: predicates 4887e41f4b71Sopenharmony_ci }; 4888e41f4b71Sopenharmony_ci let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.SMART, photoAccessHelper.AlbumSubtype.PORTRAIT, fetchOptions); 4889e41f4b71Sopenharmony_ci let album: photoAccessHelper.Album = await fetchResult.getFirstObject(); 4890e41f4b71Sopenharmony_ci if (fetchResult.isAfterLast()) { 4891e41f4b71Sopenharmony_ci console.error('lack of album to merge'); 4892e41f4b71Sopenharmony_ci return; 4893e41f4b71Sopenharmony_ci } 4894e41f4b71Sopenharmony_ci let target: photoAccessHelper.Album = await fetchResult.getNextObject(); 4895e41f4b71Sopenharmony_ci 4896e41f4b71Sopenharmony_ci let changeRequest: photoAccessHelper.MediaAlbumChangeRequest = new photoAccessHelper.MediaAlbumChangeRequest(album); 4897e41f4b71Sopenharmony_ci changeRequest.mergeAlbum(target); 4898e41f4b71Sopenharmony_ci changeRequest.setAlbumName("testName"); 4899e41f4b71Sopenharmony_ci await phAccessHelper.applyChanges(changeRequest); 4900e41f4b71Sopenharmony_ci } catch (err) { 4901e41f4b71Sopenharmony_ci console.error(`mergeAlbum failed with error: ${err.code}, ${err.message}`); 4902e41f4b71Sopenharmony_ci } 4903e41f4b71Sopenharmony_ci} 4904e41f4b71Sopenharmony_ci``` 4905e41f4b71Sopenharmony_ci 4906e41f4b71Sopenharmony_ci### placeBefore<sup>11+</sup> 4907e41f4b71Sopenharmony_ci 4908e41f4b71Sopenharmony_ciplaceBefore(album: Album): void; 4909e41f4b71Sopenharmony_ci 4910e41f4b71Sopenharmony_ciPlaces this album before an album. 4911e41f4b71Sopenharmony_ci 4912e41f4b71Sopenharmony_ci**System API**: This is a system API. 4913e41f4b71Sopenharmony_ci 4914e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 4915e41f4b71Sopenharmony_ci 4916e41f4b71Sopenharmony_ci**Parameters** 4917e41f4b71Sopenharmony_ci 4918e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 4919e41f4b71Sopenharmony_ci| ---------- | ------- | ---- | ---------------------------------- | 4920e41f4b71Sopenharmony_ci| album | [Album](#album) | Yes | Target album. To place this album to the end, set **album** to null.| 4921e41f4b71Sopenharmony_ci 4922e41f4b71Sopenharmony_ci**Error codes** 4923e41f4b71Sopenharmony_ci 4924e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 4925e41f4b71Sopenharmony_ci 4926e41f4b71Sopenharmony_ci| ID| Error Message| 4927e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 4928e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 4929e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 4930e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 4931e41f4b71Sopenharmony_ci 4932e41f4b71Sopenharmony_ci**Example** 4933e41f4b71Sopenharmony_ci 4934e41f4b71Sopenharmony_ci```ts 4935e41f4b71Sopenharmony_ciasync function example() { 4936e41f4b71Sopenharmony_ci console.info('placeBeforeDemo'); 4937e41f4b71Sopenharmony_ci try { 4938e41f4b71Sopenharmony_ci let albumFetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.USER, photoAccessHelper.AlbumSubtype.USER_GENERIC); 4939e41f4b71Sopenharmony_ci let firstAlbum: photoAccessHelper.Album = await albumFetchResult.getFirstObject(); 4940e41f4b71Sopenharmony_ci if (albumFetchResult.isAfterLast()) { 4941e41f4b71Sopenharmony_ci console.error('lack of album to place before'); 4942e41f4b71Sopenharmony_ci return; 4943e41f4b71Sopenharmony_ci } 4944e41f4b71Sopenharmony_ci let secondAlbum: photoAccessHelper.Album = await albumFetchResult.getNextObject(); 4945e41f4b71Sopenharmony_ci let albumChangeRequest: photoAccessHelper.MediaAlbumChangeRequest = new photoAccessHelper.MediaAlbumChangeRequest(secondAlbum); 4946e41f4b71Sopenharmony_ci albumChangeRequest.placeBefore(firstAlbum); 4947e41f4b71Sopenharmony_ci await phAccessHelper.applyChanges(albumChangeRequest); 4948e41f4b71Sopenharmony_ci console.info('placeBefore successfully'); 4949e41f4b71Sopenharmony_ci } catch (err) { 4950e41f4b71Sopenharmony_ci console.error(`placeBeforeDemo failed with error: ${err.code}, ${err.message}`); 4951e41f4b71Sopenharmony_ci } 4952e41f4b71Sopenharmony_ci} 4953e41f4b71Sopenharmony_ci``` 4954e41f4b71Sopenharmony_ci 4955e41f4b71Sopenharmony_ci### dismiss<sup>12+</sup> 4956e41f4b71Sopenharmony_ci 4957e41f4b71Sopenharmony_cidismiss(): void 4958e41f4b71Sopenharmony_ci 4959e41f4b71Sopenharmony_ciRemoves this group photo album. 4960e41f4b71Sopenharmony_ci 4961e41f4b71Sopenharmony_ci**System API**: This is a system API. 4962e41f4b71Sopenharmony_ci 4963e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 4964e41f4b71Sopenharmony_ci 4965e41f4b71Sopenharmony_ci**Error codes** 4966e41f4b71Sopenharmony_ci 4967e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 4968e41f4b71Sopenharmony_ci 4969e41f4b71Sopenharmony_ci| ID | Error Message | 4970e41f4b71Sopenharmony_ci| :------- | :-------------------------------- | 4971e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 4972e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: Incorrect parameter types. | 4973e41f4b71Sopenharmony_ci| 14000011 | System inner fail. | 4974e41f4b71Sopenharmony_ci 4975e41f4b71Sopenharmony_ci**Example** 4976e41f4b71Sopenharmony_ci 4977e41f4b71Sopenharmony_ci```ts 4978e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 4979e41f4b71Sopenharmony_ci 4980e41f4b71Sopenharmony_ciasync function example() { 4981e41f4b71Sopenharmony_ci console.info('dismissDemo'); 4982e41f4b71Sopenharmony_ci try { 4983e41f4b71Sopenharmony_ci let albumFetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.SMART, photoAccessHelper.AlbumSubtype.GROUP_PHOTO); 4984e41f4b71Sopenharmony_ci let album: photoAccessHelper.Album = await albumFetchResult.getFirstObject(); 4985e41f4b71Sopenharmony_ci 4986e41f4b71Sopenharmony_ci let albumChangeRequest: photoAccessHelper.MediaAlbumChangeRequest = new photoAccessHelper.MediaAlbumChangeRequest(album); 4987e41f4b71Sopenharmony_ci albumChangeRequest.dismiss(); 4988e41f4b71Sopenharmony_ci await phAccessHelper.applyChanges(albumChangeRequest); 4989e41f4b71Sopenharmony_ci console.info('dismiss successfully'); 4990e41f4b71Sopenharmony_ci } catch (err) { 4991e41f4b71Sopenharmony_ci console.error(`dismissDemo failed with error: ${err.code}, ${err.message}`); 4992e41f4b71Sopenharmony_ci } 4993e41f4b71Sopenharmony_ci} 4994e41f4b71Sopenharmony_ci``` 4995e41f4b71Sopenharmony_ci 4996e41f4b71Sopenharmony_ci## HighlightAlbum<sup>12+</sup> 4997e41f4b71Sopenharmony_ci 4998e41f4b71Sopenharmony_ciProvides APIs for managing the **Highlights** album, which is an automatically generated collection of memorable photos or videos. 4999e41f4b71Sopenharmony_ci 5000e41f4b71Sopenharmony_ci**System API**: This is a system API. 5001e41f4b71Sopenharmony_ci 5002e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 5003e41f4b71Sopenharmony_ci 5004e41f4b71Sopenharmony_ci### constructor<sup>12+</sup> 5005e41f4b71Sopenharmony_ci 5006e41f4b71Sopenharmony_ciconstructor(album: Album) 5007e41f4b71Sopenharmony_ci 5008e41f4b71Sopenharmony_ciA constructor used to create a **Highlights** album instance. 5009e41f4b71Sopenharmony_ci 5010e41f4b71Sopenharmony_ci**System API**: This is a system API. 5011e41f4b71Sopenharmony_ci 5012e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 5013e41f4b71Sopenharmony_ci 5014e41f4b71Sopenharmony_ci**Parameters** 5015e41f4b71Sopenharmony_ci 5016e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 5017e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ---------- | 5018e41f4b71Sopenharmony_ci| album | [Album](#album) | Yes | **Highlights** album to create.| 5019e41f4b71Sopenharmony_ci 5020e41f4b71Sopenharmony_ci**Error codes** 5021e41f4b71Sopenharmony_ci 5022e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 5023e41f4b71Sopenharmony_ci 5024e41f4b71Sopenharmony_ci| ID| Error Message| 5025e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | 5026e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 5027e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 5028e41f4b71Sopenharmony_ci| 14000011 | Internal system error. | 5029e41f4b71Sopenharmony_ci 5030e41f4b71Sopenharmony_ci**Example** 5031e41f4b71Sopenharmony_ci 5032e41f4b71Sopenharmony_ci```ts 5033e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 5034e41f4b71Sopenharmony_ci 5035e41f4b71Sopenharmony_ciasync function example() { 5036e41f4b71Sopenharmony_ci console.info('HighlightAlbum constructorDemo'); 5037e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 5038e41f4b71Sopenharmony_ci let fetchOption: photoAccessHelper.FetchOptions = { 5039e41f4b71Sopenharmony_ci fetchColumns: [], 5040e41f4b71Sopenharmony_ci predicates: predicates 5041e41f4b71Sopenharmony_ci }; 5042e41f4b71Sopenharmony_ci let albumFetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await photoAccessHelper.getAlbums( 5043e41f4b71Sopenharmony_ci photoAccessHelper.AlbumType.SMART, photoAccessHelper.AlbumSubtype.HIGHLIGHT, fetchOption); 5044e41f4b71Sopenharmony_ci let album: photoAccessHelper.Album = await albumFetchResult.getFirstObject(); 5045e41f4b71Sopenharmony_ci let highlightAlbum: photoAccessHelper.HighlightAlbum = new photoAccessHelper.HighlightAlbum(album); 5046e41f4b71Sopenharmony_ci albumFetchResult.close(); 5047e41f4b71Sopenharmony_ci} 5048e41f4b71Sopenharmony_ci``` 5049e41f4b71Sopenharmony_ci 5050e41f4b71Sopenharmony_ci### getHighlightAlbumInfo<sup>12+</sup> 5051e41f4b71Sopenharmony_ci 5052e41f4b71Sopenharmony_cigetHighlightAlbumInfo(type: HighlightAlbumInfoType): Promise<string> 5053e41f4b71Sopenharmony_ci 5054e41f4b71Sopenharmony_ciObtains specific information about the **Highlights** album. 5055e41f4b71Sopenharmony_ci 5056e41f4b71Sopenharmony_ci**System API**: This is a system API. 5057e41f4b71Sopenharmony_ci 5058e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.READ\_IMAGEVIDEO 5059e41f4b71Sopenharmony_ci 5060e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 5061e41f4b71Sopenharmony_ci 5062e41f4b71Sopenharmony_ci**Parameters** 5063e41f4b71Sopenharmony_ci 5064e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 5065e41f4b71Sopenharmony_ci| ---------- | ------- | ---- | ---------------------------------- | 5066e41f4b71Sopenharmony_ci| type | [HighlightAlbumInfoType](#highlightalbuminfotype12) | Yes | Type of the album information to obtain.| 5067e41f4b71Sopenharmony_ci 5068e41f4b71Sopenharmony_ci**Error codes** 5069e41f4b71Sopenharmony_ci 5070e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 5071e41f4b71Sopenharmony_ci 5072e41f4b71Sopenharmony_ci| ID | Error Message | 5073e41f4b71Sopenharmony_ci| :------- | :-------------------------------- | 5074e41f4b71Sopenharmony_ci| 201 | Permission denied. | 5075e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 5076e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 5077e41f4b71Sopenharmony_ci| 14000011 | Internal system error. | 5078e41f4b71Sopenharmony_ci 5079e41f4b71Sopenharmony_ci**Example** 5080e41f4b71Sopenharmony_ci 5081e41f4b71Sopenharmony_ci```ts 5082e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 5083e41f4b71Sopenharmony_ci 5084e41f4b71Sopenharmony_ciasync function example() { 5085e41f4b71Sopenharmony_ci try { 5086e41f4b71Sopenharmony_ci console.info('getHighlightAlbumInfoDemo') 5087e41f4b71Sopenharmony_ci let fetchOptions: photoAccessHelper.FetchOptions = { 5088e41f4b71Sopenharmony_ci fetchColumns: [], 5089e41f4b71Sopenharmony_ci predicates: new dataSharePredicates.DataSharePredicates() 5090e41f4b71Sopenharmony_ci } 5091e41f4b71Sopenharmony_ci let albumFetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await photoAccessHelper.getAlbums( 5092e41f4b71Sopenharmony_ci photoAccessHelper.AlbumType.SMART, photoAccessHelper.AlbumSubtype.HIGHLIGHT, fetchOption); 5093e41f4b71Sopenharmony_ci let album: photoAccessHelper.Album = await albumFetchResult.getFirstObject(); 5094e41f4b71Sopenharmony_ci if (album != undefined) { 5095e41f4b71Sopenharmony_ci let highlightAlbum: photoAccessHelper.HighlightAlbum = new photoAccessHelper.HighlightAlbum(album); 5096e41f4b71Sopenharmony_ci let coverInfo: string = await highlightAlbum.getHighlightAlbumInfo( 5097e41f4b71Sopenharmony_ci photoAccessHelper.HighlightAlbumInfoType.COVER_INFO); 5098e41f4b71Sopenharmony_ci console.info('get cover info result: ' + JSON.stringify(coverInfo)); 5099e41f4b71Sopenharmony_ci } 5100e41f4b71Sopenharmony_ci 5101e41f4b71Sopenharmony_ci albumFetchResult.close(); 5102e41f4b71Sopenharmony_ci } catch (err) { 5103e41f4b71Sopenharmony_ci console.error(`getHighlightAlbumInfoDemofailed with error: ${err.code}, ${err.message}`); 5104e41f4b71Sopenharmony_ci } 5105e41f4b71Sopenharmony_ci} 5106e41f4b71Sopenharmony_ci``` 5107e41f4b71Sopenharmony_ci 5108e41f4b71Sopenharmony_ci### getHighlightResource<sup>12+</sup> 5109e41f4b71Sopenharmony_ci 5110e41f4b71Sopenharmony_cigetHighlightResource(resourceUri: string): Promise<ArrayBuffer> 5111e41f4b71Sopenharmony_ci 5112e41f4b71Sopenharmony_ciObtains the ArrayBuffer for caching the specified asset. 5113e41f4b71Sopenharmony_ci 5114e41f4b71Sopenharmony_ci**System API**: This is a system API. 5115e41f4b71Sopenharmony_ci 5116e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.READ\_IMAGEVIDEO 5117e41f4b71Sopenharmony_ci 5118e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 5119e41f4b71Sopenharmony_ci 5120e41f4b71Sopenharmony_ci**Parameters** 5121e41f4b71Sopenharmony_ci 5122e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 5123e41f4b71Sopenharmony_ci| ---------- | ------- | ---- | ---------------------------------- | 5124e41f4b71Sopenharmony_ci| resourceUri | string | Yes | URI of the asset to cache.| 5125e41f4b71Sopenharmony_ci 5126e41f4b71Sopenharmony_ci**Error codes** 5127e41f4b71Sopenharmony_ci 5128e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 5129e41f4b71Sopenharmony_ci 5130e41f4b71Sopenharmony_ci| ID | Error Message | 5131e41f4b71Sopenharmony_ci| :------- | :-------------------------------- | 5132e41f4b71Sopenharmony_ci| 201 | Permission denied. | 5133e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 5134e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 5135e41f4b71Sopenharmony_ci| 14000011 | Internal system error. | 5136e41f4b71Sopenharmony_ci 5137e41f4b71Sopenharmony_ci**Example** 5138e41f4b71Sopenharmony_ci 5139e41f4b71Sopenharmony_ci```ts 5140e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 5141e41f4b71Sopenharmony_ci 5142e41f4b71Sopenharmony_ciasync function example() { 5143e41f4b71Sopenharmony_ci try { 5144e41f4b71Sopenharmony_ci console.info('getHighlightResourceDemo') 5145e41f4b71Sopenharmony_ci let fetchOptions: photoAccessHelper.FetchOptions = { 5146e41f4b71Sopenharmony_ci fetchColumns: [], 5147e41f4b71Sopenharmony_ci predicates: new dataSharePredicates.DataSharePredicates() 5148e41f4b71Sopenharmony_ci } 5149e41f4b71Sopenharmony_ci let albumFetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await photoAccessHelper.getAlbums( 5150e41f4b71Sopenharmony_ci photoAccessHelper.AlbumType.SMART, photoAccessHelper.AlbumSubtype.HIGHLIGHT, fetchOption); 5151e41f4b71Sopenharmony_ci let album: photoAccessHelper.Album = await albumFetchResult.getFirstObject(); 5152e41f4b71Sopenharmony_ci if (album != undefined) { 5153e41f4b71Sopenharmony_ci let highlightAlbum: photoAccessHelper.HighlightAlbum = new photoAccessHelper.HighlightAlbum(album); 5154e41f4b71Sopenharmony_ci let uri: string = 'file://media/highlight/cover/10/1_1/background.png?oper=highlight' 5155e41f4b71Sopenharmony_ci let arrayBuffer: ArrayBuffer = await highlightAlbum.getHighlightResource(uri); 5156e41f4b71Sopenharmony_ci } 5157e41f4b71Sopenharmony_ci albumFetchResult.close(); 5158e41f4b71Sopenharmony_ci } catch (err) { 5159e41f4b71Sopenharmony_ci console.error(`getHighlightResourceDemofailed with error: ${err.code}, ${err.message}`); 5160e41f4b71Sopenharmony_ci } 5161e41f4b71Sopenharmony_ci} 5162e41f4b71Sopenharmony_ci``` 5163e41f4b71Sopenharmony_ci 5164e41f4b71Sopenharmony_ci### setHighlightUserActionData<sup>12+</sup> 5165e41f4b71Sopenharmony_ci 5166e41f4b71Sopenharmony_cisetHighlightUserActionData(type: HighlightUserActionType, actionData: number): Promise<void> 5167e41f4b71Sopenharmony_ci 5168e41f4b71Sopenharmony_ciSets the user behavior data for the **Highlights** album. 5169e41f4b71Sopenharmony_ci 5170e41f4b71Sopenharmony_ci**System API**: This is a system API. 5171e41f4b71Sopenharmony_ci 5172e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.WRITE\_IMAGEVIDEO 5173e41f4b71Sopenharmony_ci 5174e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 5175e41f4b71Sopenharmony_ci 5176e41f4b71Sopenharmony_ci**Parameters** 5177e41f4b71Sopenharmony_ci 5178e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 5179e41f4b71Sopenharmony_ci| ---------- | ------- | ---- | ---------------------------------- | 5180e41f4b71Sopenharmony_ci| type | [HighlightUserActionType](#highlightuseractiontype12) | Yes | Type of the user behavior data to set.| 5181e41f4b71Sopenharmony_ci| actionData | number | Yes | Behavior data.| 5182e41f4b71Sopenharmony_ci 5183e41f4b71Sopenharmony_ci**Error codes** 5184e41f4b71Sopenharmony_ci 5185e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 5186e41f4b71Sopenharmony_ci 5187e41f4b71Sopenharmony_ci| ID | Error Message | 5188e41f4b71Sopenharmony_ci| :------- | :-------------------------------- | 5189e41f4b71Sopenharmony_ci| 201 | Permission denied. | 5190e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 5191e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 5192e41f4b71Sopenharmony_ci| 14000011 | Internal system error. | 5193e41f4b71Sopenharmony_ci 5194e41f4b71Sopenharmony_ci**Example** 5195e41f4b71Sopenharmony_ci 5196e41f4b71Sopenharmony_ci```ts 5197e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 5198e41f4b71Sopenharmony_ci 5199e41f4b71Sopenharmony_ciasync function example() { 5200e41f4b71Sopenharmony_ci try { 5201e41f4b71Sopenharmony_ci console.info('setHighlightUserActionDataDemo') 5202e41f4b71Sopenharmony_ci let fetchOptions: photoAccessHelper.FetchOptions = { 5203e41f4b71Sopenharmony_ci fetchColumns: [], 5204e41f4b71Sopenharmony_ci predicates: new dataSharePredicates.DataSharePredicates() 5205e41f4b71Sopenharmony_ci } 5206e41f4b71Sopenharmony_ci let albumFetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await photoAccessHelper.getAlbums( 5207e41f4b71Sopenharmony_ci photoAccessHelper.AlbumType.SMART, photoAccessHelper.AlbumSubtype.HIGHLIGHT, fetchOption); 5208e41f4b71Sopenharmony_ci let album: photoAccessHelper.Album = await albumFetchResult.getFirstObject(); 5209e41f4b71Sopenharmony_ci if (album != undefined) { 5210e41f4b71Sopenharmony_ci let highlightAlbum: photoAccessHelper.HighlightAlbum = new photoAccessHelper.HighlightAlbum(album); 5211e41f4b71Sopenharmony_ci highlightAlbum.setHighlightUserActionData(photoAccessHelper.HighlightUserActionType.INSERTED_PIC_COUNT, 1); 5212e41f4b71Sopenharmony_ci } 5213e41f4b71Sopenharmony_ci albumFetchResult.close(); 5214e41f4b71Sopenharmony_ci } catch (err) { 5215e41f4b71Sopenharmony_ci console.error(`setHighlightUserActionDataDemofailed with error: ${err.code}, ${err.message}`); 5216e41f4b71Sopenharmony_ci } 5217e41f4b71Sopenharmony_ci} 5218e41f4b71Sopenharmony_ci``` 5219e41f4b71Sopenharmony_ci 5220e41f4b71Sopenharmony_ci## PhotoSubtype 5221e41f4b71Sopenharmony_ci 5222e41f4b71Sopenharmony_ciEnumerates the [PhotoAsset](#photoasset) types. 5223e41f4b71Sopenharmony_ci 5224e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 5225e41f4b71Sopenharmony_ci 5226e41f4b71Sopenharmony_ci| Name | Value| Description| 5227e41f4b71Sopenharmony_ci| ----- | ---- | ---- | 5228e41f4b71Sopenharmony_ci| SCREENSHOT | 1 | Screenshot and screen recording file. **System API**: This is a system API.| 5229e41f4b71Sopenharmony_ci 5230e41f4b71Sopenharmony_ci## PositionType 5231e41f4b71Sopenharmony_ci 5232e41f4b71Sopenharmony_ciEnumerates the file locations. 5233e41f4b71Sopenharmony_ci 5234e41f4b71Sopenharmony_ci**System API**: This is a system API. 5235e41f4b71Sopenharmony_ci 5236e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 5237e41f4b71Sopenharmony_ci 5238e41f4b71Sopenharmony_ci| Name | Value| Description| 5239e41f4b71Sopenharmony_ci| ----- | ---- | ---- | 5240e41f4b71Sopenharmony_ci| LOCAL | 1 << 0 | Stored only on a local device.| 5241e41f4b71Sopenharmony_ci| CLOUD | 1 << 1 | Stored only on the cloud.| 5242e41f4b71Sopenharmony_ci 5243e41f4b71Sopenharmony_ci## AlbumType 5244e41f4b71Sopenharmony_ci 5245e41f4b71Sopenharmony_ciEnumerates the album types. 5246e41f4b71Sopenharmony_ci 5247e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 5248e41f4b71Sopenharmony_ci 5249e41f4b71Sopenharmony_ci| Name | Value | Description | 5250e41f4b71Sopenharmony_ci| ------------------- | ---- | ------------------------- | 5251e41f4b71Sopenharmony_ci| SMART<sup>11+</sup> | 4096 | Smart analysis album. **System API**: This is a system API.| 5252e41f4b71Sopenharmony_ci 5253e41f4b71Sopenharmony_ci## AlbumSubtype 5254e41f4b71Sopenharmony_ci 5255e41f4b71Sopenharmony_ciEnumerate the album subtypes. 5256e41f4b71Sopenharmony_ci 5257e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 5258e41f4b71Sopenharmony_ci 5259e41f4b71Sopenharmony_ci| Name | Value | Description | 5260e41f4b71Sopenharmony_ci| --------------------------------- | ---------- | ------------------------------- | 5261e41f4b71Sopenharmony_ci| HIDDEN | 1027 | Hidden album. **System API**: This is a system API. | 5262e41f4b71Sopenharmony_ci| TRASH | 1028 | Trash. **System API**: This is a system API. | 5263e41f4b71Sopenharmony_ci| SCREENSHOT | 1029 | Album for screenshots and screen recording files. **System API**: This is a system API. | 5264e41f4b71Sopenharmony_ci| CAMERA | 1030 | Album for photos and videos taken by the camera. **System API**: This is a system API.| 5265e41f4b71Sopenharmony_ci| SOURCE\_GENERIC<sup>11+</sup> | 2049 | Source album. **System API**: This is a system API. | 5266e41f4b71Sopenharmony_ci| CLASSIFY<sup>11+</sup> | 4097 | Classified album. **System API**: This is a system API. | 5267e41f4b71Sopenharmony_ci| GEOGRAPHY\_LOCATION<sup>11+</sup> | 4099 | Geographic location album. **System API**: This is a system API. | 5268e41f4b71Sopenharmony_ci| GEOGRAPHY\_CITY<sup>11+</sup> | 4100 | City album. **System API**: This is a system API. | 5269e41f4b71Sopenharmony_ci| SHOOTING\_MODE<sup>11+</sup> | 4101 | Shooting mode album. **System API**: This is a system API. | 5270e41f4b71Sopenharmony_ci| PORTRAIT<sup>11+</sup> | 4102 | Portrait album. **System API**: This is a system API. | 5271e41f4b71Sopenharmony_ci| GROUP_PHOTO<sup>12+</sup> | 4103 | Group photo album. **System API**: This is a system API. | 5272e41f4b71Sopenharmony_ci| HIGHLIGHT<sup>12+</sup> | 4104 | Highlights album. **System API**: This is a system API. | 5273e41f4b71Sopenharmony_ci| HIGHLIGHT_SUGGESTIONS<sup>12+</sup> | 4105 | Highlights suggestion album. **System API**: This is a system API. | 5274e41f4b71Sopenharmony_ci 5275e41f4b71Sopenharmony_ci## RequestPhotoType<sup>11+</sup> 5276e41f4b71Sopenharmony_ci 5277e41f4b71Sopenharmony_ciEnumerates the types of the operation for obtaining image or video thumbnails. 5278e41f4b71Sopenharmony_ci 5279e41f4b71Sopenharmony_ci**System API**: This is a system API. 5280e41f4b71Sopenharmony_ci 5281e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 5282e41f4b71Sopenharmony_ci 5283e41f4b71Sopenharmony_ci| Name | Value| Description| 5284e41f4b71Sopenharmony_ci| ----- | ---- | ---- | 5285e41f4b71Sopenharmony_ci| REQUEST_ALL_THUMBNAILS | 0 | Obtain both the quick thumbnail and the quality thumbnail.| 5286e41f4b71Sopenharmony_ci| REQUEST_FAST_THUMBNAIL | 1 | Obtain only the quick thumbnail.| 5287e41f4b71Sopenharmony_ci| REQUEST_QUALITY_THUMBNAIL | 2 | Obtain only the quality thumbnail.| 5288e41f4b71Sopenharmony_ci 5289e41f4b71Sopenharmony_ci## PhotoKeys 5290e41f4b71Sopenharmony_ci 5291e41f4b71Sopenharmony_ciDefines the key information about an image or video file. 5292e41f4b71Sopenharmony_ci 5293e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 5294e41f4b71Sopenharmony_ci 5295e41f4b71Sopenharmony_ci| Name | Value | Description | 5296e41f4b71Sopenharmony_ci| ------------- | ------------------- | ---------------------------------------------------------- | 5297e41f4b71Sopenharmony_ci| POSITION | 'position' | File location type. <br>**System API**: This is a system API. | 5298e41f4b71Sopenharmony_ci| DATE_TRASHED | 'date_trashed' | Date when the file was deleted. The value is the number of seconds elapsed since the Epoch time. <br>**System API**: This is a system API. | 5299e41f4b71Sopenharmony_ci| HIDDEN | 'hidden' | Whether the file is hidden. <br>**System API**: This is a system API. | 5300e41f4b71Sopenharmony_ci| CAMERA_SHOT_KEY | 'camera_shot_key' | Key for the Ultra Snapshot feature, which allows the camera to take photos or record videos with the screen off. (This parameter is available only for the system camera, and the key value is defined by the system camera.) <br>**System API**: This is a system API. | 5301e41f4b71Sopenharmony_ci| USER_COMMENT<sup>10+</sup> | 'user_comment' | User comment information. <br>**System API**: This is a system API. | 5302e41f4b71Sopenharmony_ci| DATE_YEAR<sup>11+</sup> | 'date_year' | Year when the file was created. <br>**System API**: This is a system API. | 5303e41f4b71Sopenharmony_ci| DATE_MONTH<sup>11+</sup> | 'date_month' | Month when the file was created. <br>**System API**: This is a system API. | 5304e41f4b71Sopenharmony_ci| DATE_DAY<sup>11+</sup> | 'date_day' | Date when the file was created. <br>**System API**: This is a system API. | 5305e41f4b71Sopenharmony_ci| PENDING<sup>11+</sup> | 'pending' | Pending state. <br>**System API**: This is a system API. | 5306e41f4b71Sopenharmony_ci| DATE_TRASHED_MS<sup>12+</sup> | 'date_trashed_ms' | Date when the file was deleted. The value is the number of milliseconds elapsed since the Epoch time. **System API**: This is a system API.<br>**NOTE**: The photos queried cannot be sorted based on this field.| 5307e41f4b71Sopenharmony_ci| MOVING_PHOTO_EFFECT_MODE<sup>12+</sup> | 'moving_photo_effect_mode' | Effect of the moving photo. <br>**System API**: This is a system API.| 5308e41f4b71Sopenharmony_ci 5309e41f4b71Sopenharmony_ci## HiddenPhotosDisplayMode<sup>11+</sup> 5310e41f4b71Sopenharmony_ci 5311e41f4b71Sopenharmony_ciEnumerates the display modes of hidden files in the system. 5312e41f4b71Sopenharmony_ci 5313e41f4b71Sopenharmony_ci**System API**: This is a system API. 5314e41f4b71Sopenharmony_ci 5315e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 5316e41f4b71Sopenharmony_ci 5317e41f4b71Sopenharmony_ci| Name | Value | Description | 5318e41f4b71Sopenharmony_ci| ------------- | ------------------- | ---------------------------------------------------------- | 5319e41f4b71Sopenharmony_ci| ASSETS_MODE | 0 | Display all hidden files in the system. | 5320e41f4b71Sopenharmony_ci| ALBUMS_MODE | 1 | Display hidden files by album (display all albums that contain hidden files in the system, excluding the preset hidden album and the albums in the trash). | 5321e41f4b71Sopenharmony_ci 5322e41f4b71Sopenharmony_ci## PhotoCreateOptions 5323e41f4b71Sopenharmony_ci 5324e41f4b71Sopenharmony_ciOptions for creating an image or video asset. 5325e41f4b71Sopenharmony_ci 5326e41f4b71Sopenharmony_ci**System API**: This is a system API. 5327e41f4b71Sopenharmony_ci 5328e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 5329e41f4b71Sopenharmony_ci 5330e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 5331e41f4b71Sopenharmony_ci| ---------------------- | ------------------- | ---- | ------------------------------------------------ | 5332e41f4b71Sopenharmony_ci| subtype | [PhotoSubtype](#photosubtype) | No | Subtype of the image or video. | 5333e41f4b71Sopenharmony_ci| cameraShotKey | string | No | Key for the Ultra Snapshot feature, which allows the camera to take photos or record videos with the screen off. (This parameter is available only for the system camera, and the key value is defined by the system camera.) | 5334e41f4b71Sopenharmony_ci 5335e41f4b71Sopenharmony_ci## RequestPhotoOptions<sup>11+</sup> 5336e41f4b71Sopenharmony_ci 5337e41f4b71Sopenharmony_ciDefines the options for obtaining the thumbnail of an image or video. 5338e41f4b71Sopenharmony_ci 5339e41f4b71Sopenharmony_ci**System API**: This is a system API. 5340e41f4b71Sopenharmony_ci 5341e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 5342e41f4b71Sopenharmony_ci 5343e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 5344e41f4b71Sopenharmony_ci| ---------------------- | ------------------- | ---- | ------------------------------------------------ | 5345e41f4b71Sopenharmony_ci| size | [image.Size](../apis-image-kit/js-apis-image.md#size) | No | Size of the thumbnail to obtain. | 5346e41f4b71Sopenharmony_ci| requestPhotoType | [RequestPhotoType](#requestphototype11) | No | Operation to perform. | 5347e41f4b71Sopenharmony_ci 5348e41f4b71Sopenharmony_ci## RequestOptions<sup>11+</sup> 5349e41f4b71Sopenharmony_ci 5350e41f4b71Sopenharmony_ciRepresents request options. 5351e41f4b71Sopenharmony_ci 5352e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 5353e41f4b71Sopenharmony_ci 5354e41f4b71Sopenharmony_ci| Name | Type | Readable| Writable| Description | 5355e41f4b71Sopenharmony_ci| ---------------------- |---------------------------------| ---- |---- | ------------------------------------------------ | 5356e41f4b71Sopenharmony_ci| sourceMode | [SourceMode](#sourcemode11) | Yes | Yes | Type of the asset file requested, which can be the original file or edited file. <br>**System API**: This is a system API.| 5357e41f4b71Sopenharmony_ci 5358e41f4b71Sopenharmony_ci## PhotoProxy<sup>11+</sup> 5359e41f4b71Sopenharmony_ci 5360e41f4b71Sopenharmony_ciPhoto proxy object, which is used by the camera application to write image data. 5361e41f4b71Sopenharmony_ci 5362e41f4b71Sopenharmony_ci**System API**: This is a system API. 5363e41f4b71Sopenharmony_ci 5364e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 5365e41f4b71Sopenharmony_ci 5366e41f4b71Sopenharmony_ci## MediaChangeRequest<sup>11+</sup> 5367e41f4b71Sopenharmony_ci 5368e41f4b71Sopenharmony_ciMedia change request, which is the parent class of the asset change request and album change request. 5369e41f4b71Sopenharmony_ci 5370e41f4b71Sopenharmony_ci> **NOTE**<br>The media change request takes effect only after [applyChanges](js-apis-photoAccessHelper.md#applychanges11) is called. 5371e41f4b71Sopenharmony_ci 5372e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 5373e41f4b71Sopenharmony_ci 5374e41f4b71Sopenharmony_ci## FormInfo<sup>11+</sup> 5375e41f4b71Sopenharmony_ci 5376e41f4b71Sopenharmony_ciDefines the Gallery widget information. 5377e41f4b71Sopenharmony_ci 5378e41f4b71Sopenharmony_ci**System API**: This is a system API. 5379e41f4b71Sopenharmony_ci 5380e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 5381e41f4b71Sopenharmony_ci 5382e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 5383e41f4b71Sopenharmony_ci| ---------------------- | ------------------- | ---- | ------------------------------------------------ | 5384e41f4b71Sopenharmony_ci|formId |string |Yes| Widget ID, which is provided when a widget is created in Gallery.| 5385e41f4b71Sopenharmony_ci|uri |string |Yes| URI of the image bound to the widget. When a widget is created, **uri** can be empty or the URI of an image. When a widget is removed, **uri** is not verified and can be empty. | 5386e41f4b71Sopenharmony_ci 5387e41f4b71Sopenharmony_ci## ResourceType<sup>11+</sup> 5388e41f4b71Sopenharmony_ci 5389e41f4b71Sopenharmony_ciEnumerates the types of the resources to write. 5390e41f4b71Sopenharmony_ci 5391e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 5392e41f4b71Sopenharmony_ci 5393e41f4b71Sopenharmony_ci| Name | Value| Description| 5394e41f4b71Sopenharmony_ci| ----- | ---- | ---- | 5395e41f4b71Sopenharmony_ci| PHOTO_PROXY | 3 | Photo proxy. <br>**System API**: This is a system API.| 5396e41f4b71Sopenharmony_ci| PRIVATE_MOVING_PHOTO_RESOURCE<sup>12+</sup> | 4 | Private moving photo. <br>**System API**: This is a system API.| 5397e41f4b71Sopenharmony_ci 5398e41f4b71Sopenharmony_ci## DefaultChangeUri 5399e41f4b71Sopenharmony_ci 5400e41f4b71Sopenharmony_ciEnumerates the **DefaultChangeUri** subtypes. 5401e41f4b71Sopenharmony_ci 5402e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 5403e41f4b71Sopenharmony_ci 5404e41f4b71Sopenharmony_ci| Name | Value | Description | 5405e41f4b71Sopenharmony_ci| ----------------- | ----------------------- | ------------------------------------------------------------ | 5406e41f4b71Sopenharmony_ci| DEFAULT_HIDDEN_ALBUM_URI<sup>11+</sup> | 'file://media/HiddenAlbum' | URI of an album in the hidden albums that are displayed by album, that is, the URI of an album with hidden files. Such albums do not include the preset hidden album and the albums in the trash. This URI is used to subscribe to the change notifications of the hidden albums displayed by album. <br>**System API**: This is a system API.| 5407e41f4b71Sopenharmony_ci 5408e41f4b71Sopenharmony_ci## SourceMode<sup>11+</sup> 5409e41f4b71Sopenharmony_ci 5410e41f4b71Sopenharmony_ciEnumerates the types of the file to read. 5411e41f4b71Sopenharmony_ci 5412e41f4b71Sopenharmony_ci**System API**: This is a system API. 5413e41f4b71Sopenharmony_ci 5414e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 5415e41f4b71Sopenharmony_ci 5416e41f4b71Sopenharmony_ci| Name | Value| Description| 5417e41f4b71Sopenharmony_ci| ----- | ---- | ---- | 5418e41f4b71Sopenharmony_ci| ORIGINAL_MODE | 0 | Original file.| 5419e41f4b71Sopenharmony_ci| EDITED_MODE | 1 | Edited file.| 5420e41f4b71Sopenharmony_ci## AuthorizationMode<sup>12+</sup> 5421e41f4b71Sopenharmony_ci 5422e41f4b71Sopenharmony_ciEnumerates the authorization modes. 5423e41f4b71Sopenharmony_ci 5424e41f4b71Sopenharmony_ci**System API**: This is a system API. 5425e41f4b71Sopenharmony_ci 5426e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 5427e41f4b71Sopenharmony_ci 5428e41f4b71Sopenharmony_ci| Name | Value| Description| 5429e41f4b71Sopenharmony_ci| ----- | ---- | ---- | 5430e41f4b71Sopenharmony_ci| SHORT_TIME_AUTHORIZATION| 0 | Temporary authorization.| 5431e41f4b71Sopenharmony_ci 5432e41f4b71Sopenharmony_ci## AnalysisType<sup>11+</sup> 5433e41f4b71Sopenharmony_ci 5434e41f4b71Sopenharmony_ciEnumerates the smart analysis types. 5435e41f4b71Sopenharmony_ci 5436e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 5437e41f4b71Sopenharmony_ci 5438e41f4b71Sopenharmony_ci| Name | Value | Description | 5439e41f4b71Sopenharmony_ci| :---------------------------- | :- | :------- | 5440e41f4b71Sopenharmony_ci| ANALYSIS\_AESTHETICS\_SCORE | 0 | Aesthetics score. <br>**System API**: This is a system API. | 5441e41f4b71Sopenharmony_ci| ANALYSIS\_LABEL | 1 | Label. <br>**System API**: This is a system API. | 5442e41f4b71Sopenharmony_ci| ANALYSIS\_OCR | 2 | Optical character recognition (OCR) analysis. <br>**System API**: This is a system API. | 5443e41f4b71Sopenharmony_ci| ANALYSIS\_FACE | 3 | Facial detection analysis. <br>**System API**: This is a system API. | 5444e41f4b71Sopenharmony_ci| ANALYSIS\_OBJECT | 4 | Object detection analysis. <br>**System API**: This is a system API. | 5445e41f4b71Sopenharmony_ci| ANALYSIS\_RECOMMENDATION | 5 | Recommendation analysis. <br>**System API**: This is a system API. | 5446e41f4b71Sopenharmony_ci| ANALYSIS\_SEGMENTATION | 6 | Segmentation analysis. <br>**System API**: This is a system API. | 5447e41f4b71Sopenharmony_ci| ANALYSIS\_COMPOSITION | 7 | Aesthetic composition analysis. <br>**System API**: This is a system API. | 5448e41f4b71Sopenharmony_ci| ANALYSIS\_SALIENCY | 8 | Salience analysis. <br>**System API**: This is a system API. | 5449e41f4b71Sopenharmony_ci| ANALYSIS\_DETAIL\_ADDRESS | 9 | Detailed address analysis. <br>**System API**: This is a system API. | 5450e41f4b71Sopenharmony_ci| ANALYSIS\_HUMAN\_FACE\_TAG<sup>12+</sup> | 10 | Face clustering analysis. <br>**System API**: This is a system API. | 5451e41f4b71Sopenharmony_ci| ANALYSIS\_HEAD\_POSITION<sup>12+</sup> | 11 | Analysis of the position of a person's or pet's head. <br>**System API**: This is a system API. | 5452e41f4b71Sopenharmony_ci| ANALYSIS\_BONE\_POSE<sup>12+</sup> | 12 | Analysis of the position of skeletal elements (bones) in a human body. <br>**System API**: This is a system API. | 5453e41f4b71Sopenharmony_ci| ANALYSIS\_VIDEO\_LABEL<sup>12+</sup> | 13 | Video label analysis. <br>**System API**: This is a system API. | 5454e41f4b71Sopenharmony_ci 5455e41f4b71Sopenharmony_ci## HighlightAlbumInfoType<sup>12+</sup> 5456e41f4b71Sopenharmony_ci 5457e41f4b71Sopenharmony_ciEnumerates the types of the highlights album information. 5458e41f4b71Sopenharmony_ci 5459e41f4b71Sopenharmony_ci**System API**: This is a system API. 5460e41f4b71Sopenharmony_ci 5461e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 5462e41f4b71Sopenharmony_ci 5463e41f4b71Sopenharmony_ci| Name | Value | Description | 5464e41f4b71Sopenharmony_ci| :------------ | :- | :------- | 5465e41f4b71Sopenharmony_ci| COVER\_INFO | 0 | Cover information. | 5466e41f4b71Sopenharmony_ci| PLAY\_INFO | 1 | Music information. | 5467e41f4b71Sopenharmony_ci 5468e41f4b71Sopenharmony_ci## HighlightUserActionType<sup>12+</sup> 5469e41f4b71Sopenharmony_ci 5470e41f4b71Sopenharmony_ciEnumerates the user behavior types of the highlights album. 5471e41f4b71Sopenharmony_ci 5472e41f4b71Sopenharmony_ci**System API**: This is a system API. 5473e41f4b71Sopenharmony_ci 5474e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 5475e41f4b71Sopenharmony_ci 5476e41f4b71Sopenharmony_ci| Name | Value | Description | 5477e41f4b71Sopenharmony_ci| :---------------------------- | :- | :------- | 5478e41f4b71Sopenharmony_ci| INSERTED\_PIC\_COUNT | 0 | Number of inserted pictures. | 5479e41f4b71Sopenharmony_ci| REMOVED\_PIC\_COUNT | 1 | Number of removed pictures. | 5480e41f4b71Sopenharmony_ci| SHARED\_SCREENSHOT\_COUNT | 2 | Number of times that a full-length image in a highlights album is shared. | 5481e41f4b71Sopenharmony_ci| SHARED\_COVER\_COUNT | 3 | Number of times that a highlights cover is shared. | 5482e41f4b71Sopenharmony_ci| RENAMED\_COUNT | 4 | Number of times that a highlights album is renamed. | 5483e41f4b71Sopenharmony_ci| CHANGED\_COVER\_COUNT | 5 | Number of times that a cover is changed. | 5484e41f4b71Sopenharmony_ci| RENDER\_VIEWED\_TIMES | 100 | Number of times that the pictures in a highlights album are played. | 5485e41f4b71Sopenharmony_ci| RENDER\_VIEWED\_DURATION | 101 | Time used to play the pictures in a highlights album. | 5486e41f4b71Sopenharmony_ci| ART\_LAYOUT\_VIEWED\_TIMES | 102 | Number of times that a highlights album is viewed. | 5487e41f4b71Sopenharmony_ci| ART\_LAYOUT\_VIEWED\_DURATION | 103 | Time used to view a highlights album. | 5488e41f4b71Sopenharmony_ci 5489e41f4b71Sopenharmony_ci## MovingPhotoEffectMode<sup>12+</sup> 5490e41f4b71Sopenharmony_ci 5491e41f4b71Sopenharmony_ciEnumerates the effects of a moving photo. 5492e41f4b71Sopenharmony_ci 5493e41f4b71Sopenharmony_ci**System API**: This is a system API. 5494e41f4b71Sopenharmony_ci 5495e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 5496e41f4b71Sopenharmony_ci 5497e41f4b71Sopenharmony_ci| Name | Value | Description | 5498e41f4b71Sopenharmony_ci| :---------------------------- | :- | :------- | 5499e41f4b71Sopenharmony_ci| DEFAULT | 0 | Default effect.| 5500e41f4b71Sopenharmony_ci| BOUNCE\_PLAY | 1 | Back-and-forth motion.| 5501e41f4b71Sopenharmony_ci| LOOP\_PLAY | 2 | Continuously repeated animation.| 5502e41f4b71Sopenharmony_ci| LONG\_EXPOSURE | 3 | Long exposure. | 5503e41f4b71Sopenharmony_ci| MULTI\_EXPOSURE | 4 | Multiple exposures. | 5504e41f4b71Sopenharmony_ci| CINEMA\_GRAPH | 5 | Cinemagraph. | 5505e41f4b71Sopenharmony_ci| IMAGE\_ONLY | 10 | Image only. | 5506e41f4b71Sopenharmony_ci 5507e41f4b71Sopenharmony_ci## PhotoPermissionType<sup>12+</sup> 5508e41f4b71Sopenharmony_ci 5509e41f4b71Sopenharmony_ciEnumerates the types of permissions for accessing media assets. 5510e41f4b71Sopenharmony_ci 5511e41f4b71Sopenharmony_ciThe permissions include temporary read permission and persistent read permission. The temporary read permission will be removed when the application exits, while the persisten read permission will not. 5512e41f4b71Sopenharmony_ci 5513e41f4b71Sopenharmony_ciFor the same media asset and application, the persistent read permission overwrites the temporary read permission. The temporary read permission does not overwrite the persistent read permission. 5514e41f4b71Sopenharmony_ci 5515e41f4b71Sopenharmony_ci**System API**: This is a system API. 5516e41f4b71Sopenharmony_ci 5517e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 5518e41f4b71Sopenharmony_ci 5519e41f4b71Sopenharmony_ci| Name | Value| Description| 5520e41f4b71Sopenharmony_ci| ----- | ---- | ---- | 5521e41f4b71Sopenharmony_ci| TEMPORARY_READ_IMAGEVIDEO | 0 | Temporary read permission.| 5522e41f4b71Sopenharmony_ci| PERSISTENT_READ_IMAGEVIDEO | 1 | Persistent read permission.| 5523e41f4b71Sopenharmony_ci 5524e41f4b71Sopenharmony_ci## HideSensitiveType<sup>12+</sup> 5525e41f4b71Sopenharmony_ci 5526e41f4b71Sopenharmony_ciEnumerates the types of media resource information to be hidden from an application. 5527e41f4b71Sopenharmony_ci 5528e41f4b71Sopenharmony_ci**System API**: This is a system API. 5529e41f4b71Sopenharmony_ci 5530e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 5531e41f4b71Sopenharmony_ci 5532e41f4b71Sopenharmony_ci| Name | Value| Description| 5533e41f4b71Sopenharmony_ci| ----- | ---- | ---- | 5534e41f4b71Sopenharmony_ci| HIDE_LOCATION_AND_SHOOTING_PARAM | 0 | Geographical location and shooting parameters.| 5535e41f4b71Sopenharmony_ci| HIDE_LOCATION_ONLY | 1 | Geographical location information.| 5536e41f4b71Sopenharmony_ci| HIDE_SHOOTING_PARAM_ONLY | 2 | Shooting parameters.| 5537e41f4b71Sopenharmony_ci| NO_HIDE_SENSITIVE_TYPE | 3 | Do not hide any information.| 5538