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&lt;[PhotoAsset](#photoasset)&gt; | 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&lt;PhotoAsset&gt;
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&lt;[PhotoAsset](#photoasset)&gt; | 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&lt;PhotoAsset&gt;): 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&lt;[PhotoAsset](#photoasset)&gt; | 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&lt;PhotoAsset&gt;
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&lt;[PhotoAsset](#photoasset)&gt; | 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&lt;Album&gt;): 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&lt;[Album](#album)&gt; | 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&lt;Album&gt;
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&lt;[Album](#album)&gt; | 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&lt;Album&gt;, callback: AsyncCallback&lt;void&gt;): 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&lt;[Album](#album)&gt;         | Yes  | Albums to delete.             |
394e41f4b71Sopenharmony_ci| callback |  AsyncCallback&lt;void&gt; | 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&lt;Album&gt;): Promise&lt;void&gt;
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&lt;[Album](#album)&gt;          | Yes  | Albums to delete.             |
458e41f4b71Sopenharmony_ci
459e41f4b71Sopenharmony_ci**Return value**
460e41f4b71Sopenharmony_ci
461e41f4b71Sopenharmony_ci| Type                       | Description          |
462e41f4b71Sopenharmony_ci| --------------------------- | -------------- |
463e41f4b71Sopenharmony_ci| Promise&lt;void&gt; | 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&lt;FetchResult&lt;Album&gt;&gt;): 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&lt;[FetchResult](js-apis-photoAccessHelper.md#fetchresult)&lt;[Album](#album)&gt;&gt; | 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&lt;FetchResult&lt;Album&gt;&gt;): 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&lt;[FetchResult](js-apis-photoAccessHelper.md#fetchresult)&lt;[Album](#album)&gt;&gt; | 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&lt;FetchResult&lt;Album&gt;&gt;
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&lt;[FetchResult](js-apis-photoAccessHelper.md#fetchresult)&lt;[Album](#album)&gt;&gt; | 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&lt;string&gt;, callback: AsyncCallback&lt;void&gt;): 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&lt;string&gt; | Yes  | URIs of the media files to delete.|
748e41f4b71Sopenharmony_ci| callback | AsyncCallback&lt;void&gt; | 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&lt;string&gt;): Promise&lt;void&gt;
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&lt;string&gt; | 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&lt;void&gt;| 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&lt;number&gt;): 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&lt;number&gt;| 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&lt;number&gt;
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&lt;number&gt;| 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&lt;void&gt;):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&lt;void&gt; | 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&lt;void&gt;
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&lt;void&gt;| 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&lt;void&gt;):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&lt;void&gt; | 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&lt;void&gt;
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&lt;void&gt;| 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&lt;PhotoCreationConfig&gt;): Promise&lt;Array&lt;string&gt;&gt;
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&lt;[PhotoCreationConfig](./js-apis-photoAccessHelper.md#photocreationconfig12)&gt; | 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&lt;Array&lt;string&gt;&gt; | 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&lt;number&gt;
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&lt;number&gt; | 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&lt;string&gt;, photoPermissionType: PhotoPermissionType, hideSensitiveType: HideSensitiveType): Promise&lt;number&gt;
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&lt;string&gt; | 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&lt;number&gt; | 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&lt;number&gt;
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&lt;number&gt; | 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&lt;number&gt;): 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&lt;number&gt; | 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&lt;number&gt;
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&lt;number&gt; | 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&lt;void&gt;): 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&lt;void&gt; | 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&lt;void&gt;
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&lt;void&gt; | 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&lt;void&gt;): 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&lt;void&gt; | 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&lt;void&gt;
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&lt;void&gt; | 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&lt;string&gt;
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&lt;string&gt; | 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&lt;string&gt;): 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&lt;string&gt; | 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&lt;void&gt;
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&lt;void&gt; | 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&lt;void&gt;): 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&lt;void&gt; | 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&lt;void&gt;): 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&lt;void&gt; | 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&lt;void&gt;
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&lt;boolean&gt; | 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&lt;boolean&gt;): 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&lt;boolean&gt; | 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&lt;boolean&gt;
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&lt;boolean&gt; | 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&lt;string&gt;): 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&lt;string&gt; | 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&lt;string&gt;
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&lt;string&gt; | 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&lt;MediaAssetEditData&gt;
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&lt;[MediaAssetEditData](#mediaasseteditdata11)&gt; | 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&lt;number&gt;): 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&lt;number&gt; | 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&lt;number&gt;
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&lt;number&gt; | 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&lt;void&gt;)
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&lt;void&gt; | 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&lt;void&gt;
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&lt;void&gt; | 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&lt;void&gt;)
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&lt;void&gt; | 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&lt;void&gt;
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&lt;string&gt; | 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&lt;image.PixelMap&gt;): 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&lt;[image.PixelMap](../apis-image-kit/js-apis-image.md#pixelmap7)&gt; | 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&lt;image.PixelMap&gt;): 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&lt;[image.PixelMap](../apis-image-kit/js-apis-image.md#pixelmap7)&gt; | 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&lt;PhotoAsset&gt;, callback: AsyncCallback&lt;void&gt;): 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&lt;[PhotoAsset](#photoasset)&gt; | Yes  | Array of the image or video assets to recover.|
3228e41f4b71Sopenharmony_ci| callback | AsyncCallback&lt;void&gt; | 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&lt;PhotoAsset&gt;): Promise&lt;void&gt;
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&lt;[PhotoAsset](#photoasset)&gt; | 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&lt;void&gt; | 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&lt;PhotoAsset&gt;, callback: AsyncCallback&lt;void&gt;): 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&lt;[PhotoAsset](#photoasset)&gt; | Yes  | Array of the image or video assets to delete.|
3364e41f4b71Sopenharmony_ci| callback | AsyncCallback&lt;void&gt; | 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&lt;PhotoAsset&gt;): Promise&lt;void&gt;
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&lt;[PhotoAsset](#photoasset)&gt; | 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&lt;void&gt; | 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&lt;void&gt;): 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&lt;void&gt; | 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&lt;void&gt;
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&lt;void&gt; | 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&lt;PhotoAsset&gt;)
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&lt;[PhotoAsset](#photoasset)&gt; | 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&lt;Album&gt;): Promise&lt;void&gt;
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&lt;[Album](#album)&gt;          | Yes  | Albums to delete.        |
4422e41f4b71Sopenharmony_ci
4423e41f4b71Sopenharmony_ci**Return value**
4424e41f4b71Sopenharmony_ci
4425e41f4b71Sopenharmony_ci| Type                                   | Description             |
4426e41f4b71Sopenharmony_ci| --------------------------------------- | ----------------- |
4427e41f4b71Sopenharmony_ci| Promise&lt;void&gt;| 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&lt;PhotoAsset&gt;, 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&lt;[PhotoAsset](#photoasset)&gt; | 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&lt;PhotoAsset&gt;): 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&lt;[PhotoAsset](#photoasset)&gt; | 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&lt;PhotoAsset&gt;): 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&lt;[PhotoAsset](#photoasset)&gt; | 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&lt;PhotoAsset&gt;): 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&lt;PhotoAsset&gt; | 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&lt;string&gt;
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&lt;ArrayBuffer&gt;
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&lt;void&gt;
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