1# @ohos.file.photoAccessHelper (相册管理模块)(系统接口)
2
3该模块提供相册管理模块能力,包括创建相册以及访问、修改相册中的媒体数据信息等。
4
5> **说明:**
6>
7> - 本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8> - 当前页面仅包含本模块的系统接口,其他公开接口参见[@ohos.file.photoAccessHelper (相册管理模块)](js-apis-photoAccessHelper.md)。
9
10## 导入模块
11
12```ts
13import { photoAccessHelper } from '@kit.MediaLibraryKit';
14```
15
16## PhotoAccessHelper
17
18### createAsset
19
20createAsset(displayName: string, callback: AsyncCallback<PhotoAsset>): void
21
22指定待创建的图片或者视频的文件名,创建图片或视频资源,使用callback方式返回结果。
23
24待创建的文件名参数规格为:
25- 应包含有效文件主名和图片或视频扩展名。
26- 文件名字符串长度为1~255。
27- 文件主名中不允许出现的非法英文字符,包括:<br> . .. \ / : * ? " ' ` < > | { } [ ]
28
29**系统接口**:此接口为系统接口。
30
31**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
32
33**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
34
35**参数:**
36
37| 参数名   | 类型                     | 必填 | 说明                      |
38| -------- | ------------------------ | ---- | ------------------------- |
39| displayName  | string        | 是   | 创建的图片或者视频文件名。              |
40| callback |  AsyncCallback&lt;[PhotoAsset](#photoasset)&gt; | 是   | callback返回创建的图片和视频结果。 |
41
42**错误码:**
43
44接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
45
46| 错误码ID | 错误信息 |
47| -------- | ---------------------------------------- |
48| 202   |  Called by non-system application.         |
49| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
50| 13900012     | Permission denied.         |
51| 13900020     | Invalid argument.         |
52| 14000001      | Invalid display name.         |
53| 14000011       | System inner fail.         |
54
55**示例:**
56
57```ts
58async function example() {
59  console.info('createAssetDemo');
60  let testFileName: string = 'testFile' + Date.now() + '.jpg';
61  phAccessHelper.createAsset(testFileName, (err, photoAsset) => {
62    if (photoAsset !== undefined) {
63      console.info('createAsset file displayName' + photoAsset.displayName);
64      console.info('createAsset successfully');
65    } else {
66      console.error(`createAsset failed, error: ${err.code}, ${err.message}`);
67    }
68  });
69}
70```
71
72### createAsset
73
74createAsset(displayName: string): Promise&lt;PhotoAsset&gt;
75
76指定待创建的图片或者视频的文件名,创建图片或视频资源,使用Promise方式返回结果。
77
78待创建的文件名参数规格为:
79- 应包含有效文件主名和图片或视频扩展名。
80- 文件名字符串长度为1~255。
81- 文件主名中不允许出现的非法英文字符,包括:<br> . .. \ / : * ? " ' ` < > | { } [ ]
82
83**系统接口**:此接口为系统接口。
84
85**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
86
87**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
88
89**参数:**
90
91| 参数名   | 类型                     | 必填 | 说明                      |
92| -------- | ------------------------ | ---- | ------------------------- |
93| displayName  | string        | 是   | 创建的图片或者视频文件名。              |
94
95**返回值:**
96
97| 类型                        | 说明           |
98| --------------------------- | -------------- |
99| Promise&lt;[PhotoAsset](#photoasset)&gt; | Promise对象,返回创建的图片和视频结果。 |
100
101**错误码:**
102
103接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
104
105| 错误码ID | 错误信息 |
106| -------- | ---------------------------------------- |
107| 202   |  Called by non-system application.         |
108| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
109| 13900012     | Permission denied.         |
110| 13900020     | Invalid argument.         |
111| 14000001      | Invalid display name.         |
112| 14000011       | System inner fail.         |
113
114**示例:**
115
116```ts
117async function example() {
118  console.info('createAssetDemo');
119  try {
120    let testFileName: string = 'testFile' + Date.now() + '.jpg';
121    let photoAsset: photoAccessHelper.PhotoAsset = await phAccessHelper.createAsset(testFileName);
122    console.info('createAsset file displayName' + photoAsset.displayName);
123    console.info('createAsset successfully');
124  } catch (err) {
125    console.error(`createAsset failed, error: ${err.code}, ${err.message}`);
126  }
127}
128```
129
130### createAsset
131
132createAsset(displayName: string, options: PhotoCreateOptions, callback: AsyncCallback&lt;PhotoAsset&gt;): void
133
134指定待创建的图片或者视频的文件名和创建选项,创建图片或视频资源,使用callback方式返回结果。
135
136待创建的文件名参数规格为:
137- 应包含有效文件主名和图片或视频扩展名。
138- 文件名字符串长度为1~255。
139- 文件主名中不允许出现的非法英文字符,包括:<br> . .. \ / : * ? " ' ` < > | { } [ ]
140
141**系统接口**:此接口为系统接口。
142
143**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
144
145**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
146
147**参数:**
148
149| 参数名   | 类型                     | 必填 | 说明                      |
150| -------- | ------------------------ | ---- | ------------------------- |
151| displayName  | string        | 是   | 创建的图片或者视频文件名。              |
152| options  | [PhotoCreateOptions](#photocreateoptions)        | 是   | 图片或视频的创建选项。              |
153| callback |  AsyncCallback&lt;[PhotoAsset](#photoasset)&gt; | 是   | callback返回创建的图片和视频结果。 |
154
155**错误码:**
156
157接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
158
159| 错误码ID | 错误信息 |
160| -------- | ---------------------------------------- |
161| 202   |  Called by non-system application.         |
162| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
163| 13900012     | Permission denied.         |
164| 13900020     | Invalid argument.         |
165| 14000001      | Invalid display name.         |
166| 14000011       | System inner fail.         |
167
168**示例:**
169
170```ts
171async function example() {
172  console.info('createAssetDemo');
173  let testFileName: string = 'testFile' + Date.now() + '.jpg';
174  let createOption: photoAccessHelper.PhotoCreateOptions = {
175    subtype: photoAccessHelper.PhotoSubtype.DEFAULT
176  }
177  phAccessHelper.createAsset(testFileName, createOption, (err, photoAsset) => {
178    if (photoAsset !== undefined) {
179      console.info('createAsset file displayName' + photoAsset.displayName);
180      console.info('createAsset successfully');
181    } else {
182      console.error(`createAsset failed, error: ${err.code}, ${err.message}`);
183    }
184  });
185}
186```
187
188### createAsset
189
190createAsset(displayName: string, options: PhotoCreateOptions): Promise&lt;PhotoAsset&gt;
191
192指定待创建的图片或者视频的文件名和创建选项,创建图片或视频资源,使用Promise方式返回结果。
193
194待创建的文件名参数规格为:
195- 应包含有效文件主名和图片或视频扩展名。
196- 文件名字符串长度为1~255。
197- 文件主名中不允许出现的非法英文字符,包括:<br> . .. \ / : * ? " ' ` < > | { } [ ]
198
199**系统接口**:此接口为系统接口。
200
201**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
202
203**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
204
205**参数:**
206
207| 参数名   | 类型                     | 必填 | 说明                      |
208| -------- | ------------------------ | ---- | ------------------------- |
209| displayName  | string        | 是   | 创建的图片或者视频文件名。              |
210| options  |  [PhotoCreateOptions](#photocreateoptions)       | 是   | 图片或视频的创建选项。              |
211
212**返回值:**
213
214| 类型                        | 说明           |
215| --------------------------- | -------------- |
216| Promise&lt;[PhotoAsset](#photoasset)&gt; | Promise对象,返回创建的图片和视频结果。 |
217
218**错误码:**
219
220接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
221
222| 错误码ID | 错误信息 |
223| -------- | ---------------------------------------- |
224| 202   |  Called by non-system application.         |
225| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
226| 13900012     | Permission denied.         |
227| 13900020     | Invalid argument.         |
228| 14000001      | Invalid display name.         |
229| 14000011       | System inner fail.         |
230
231**示例:**
232
233```ts
234async function example() {
235  console.info('createAssetDemo');
236  try {
237    let testFileName:string = 'testFile' + Date.now() + '.jpg';
238    let createOption: photoAccessHelper.PhotoCreateOptions = {
239      subtype: photoAccessHelper.PhotoSubtype.DEFAULT
240    }
241    let photoAsset: photoAccessHelper.PhotoAsset = await phAccessHelper.createAsset(testFileName, createOption);
242    console.info('createAsset file displayName' + photoAsset.displayName);
243    console.info('createAsset successfully');
244  } catch (err) {
245    console.error(`createAsset failed, error: ${err.code}, ${err.message}`);
246  }
247}
248```
249
250### createAlbum<sup>(deprecated)</sup>
251
252createAlbum(name: string, callback: AsyncCallback&lt;Album&gt;): void
253
254创建相册,使用callback方式返回结果。
255
256待创建的相册名参数规格为:
257- 相册名字符串长度为1~255。
258- 不允许出现的非法英文字符,包括:<br> . .. \ / : * ? " ' ` < > | { } [ ]
259- 英文字符大小写不敏感。
260- 相册名不允许重名。
261
262> **说明:** 
263>
264> 从API version 10开始支持,从API version 11开始废弃。建议使用[MediaAlbumChangeRequest.createAlbumRequest](#createalbumrequest11)替代。
265
266**系统接口**:此接口为系统接口。
267
268**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
269
270**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
271
272**参数:**
273
274| 参数名   | 类型                     | 必填 | 说明                      |
275| -------- | ------------------------ | ---- | ------------------------- |
276| name  | string         | 是   | 待创建相册的相册名。              |
277| callback |  AsyncCallback&lt;[Album](#album)&gt; | 是   | callback返回创建的相册实例。 |
278
279**错误码:**
280
281接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
282
283| 错误码ID | 错误信息 |
284| -------- | ---------------------------------------- |
285| 202   |  Called by non-system application.         |
286| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
287| 13900012     | Permission denied.         |
288| 13900015       |  File exists.         |
289| 13900020     | Invalid argument.         |
290| 14000011       | System inner fail.         |
291
292**示例:**
293
294```ts
295async function example() {
296  console.info('createAlbumDemo');
297  let albumName: string = 'newAlbumName' + new Date().getTime();
298  phAccessHelper.createAlbum(albumName, (err, album) => {
299    if (err) {
300      console.error(`createAlbumCallback failed with err: ${err.code}, ${err.message}`);
301      return;
302    }
303    console.info('createAlbumCallback successfully, album: ' + album.albumName + ' album uri: ' + album.albumUri);
304  });
305}
306```
307
308### createAlbum<sup>(deprecated)</sup>
309
310createAlbum(name: string): Promise&lt;Album&gt;
311
312创建相册,使用Promise方式返回结果。
313
314待创建的相册名参数规格为:
315- 相册名字符串长度为1~255。
316- 不允许出现的非法英文字符,包括:<br> . .. \ / : * ? " ' ` < > | { } [ ]
317- 英文字符大小写不敏感。
318- 相册名不允许重名。
319
320> **说明:** 
321>
322> 从API version 10开始支持,从API version 11开始废弃。建议使用[MediaAlbumChangeRequest.createAlbumRequest](#createalbumrequest11)替代。
323
324**系统接口**:此接口为系统接口。
325
326**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
327
328**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
329
330**参数:**
331
332| 参数名   | 类型                     | 必填 | 说明                      |
333| -------- | ------------------------ | ---- | ------------------------- |
334| name  | string         | 是   | 待创建相册的相册名。              |
335
336**返回值:**
337
338| 类型                        | 说明           |
339| --------------------------- | -------------- |
340| Promise&lt;[Album](#album)&gt; | Promise对象,返回创建的相册实例。 |
341
342**错误码:**
343
344接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
345
346| 错误码ID | 错误信息 |
347| -------- | ---------------------------------------- |
348| 202   |  Called by non-system application.         |
349| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
350| 13900012     | Permission denied.         |
351| 13900015       |  File exists.         |
352| 13900020     | Invalid argument.         |
353| 14000011       | System inner fail.         |
354
355**示例:**
356
357```ts
358import { BusinessError } from '@kit.BasicServicesKit';
359
360async function example() {
361  console.info('createAlbumDemo');
362  let albumName: string = 'newAlbumName' + new Date().getTime();
363  phAccessHelper.createAlbum(albumName).then((album) => {
364    console.info('createAlbumPromise successfully, album: ' + album.albumName + ' album uri: ' + album.albumUri);
365  }).catch((err: BusinessError) => {
366    console.error(`createAlbumPromise failed with err: ${err.code}, ${err.message}`);
367  });
368}
369```
370
371### deleteAlbums<sup>(deprecated)</sup>
372
373deleteAlbums(albums: Array&lt;Album&gt;, callback: AsyncCallback&lt;void&gt;): void
374
375删除相册,使用callback方式返回结果。
376
377删除相册前需先确保相册存在,只能删除用户相册。
378
379> **说明:** 
380>
381> 从API version 10开始支持,从API version 11开始废弃。建议使用[MediaAlbumChangeRequest.deleteAlbums](#deletealbums11)替代。
382
383**系统接口**:此接口为系统接口。
384
385**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
386
387**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
388
389**参数:**
390
391| 参数名   | 类型                     | 必填 | 说明                      |
392| -------- | ------------------------ | ---- | ------------------------- |
393| albums  | Array&lt;[Album](#album)&gt;         | 是   | 待删除相册的数组。              |
394| callback |  AsyncCallback&lt;void&gt; | 是   | callback返回void。 |
395
396**错误码:**
397
398接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
399
400| 错误码ID | 错误信息 |
401| -------- | ---------------------------------------- |
402| 202   |  Called by non-system application.         |
403| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
404| 13900012     | Permission denied.         |
405| 13900020     | Invalid argument.         |
406| 14000011       | System inner fail.         |
407
408**示例:**
409
410```ts
411import { dataSharePredicates } from '@kit.ArkData';
412
413async function example() {
414  // 示例代码为删除相册名为newAlbumName的相册。
415  console.info('deleteAlbumsDemo');
416  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
417  predicates.equalTo('album_name', 'newAlbumName');
418  let fetchOptions: photoAccessHelper.FetchOptions = {
419    fetchColumns: [],
420    predicates: predicates
421  };
422  let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.USER, photoAccessHelper.AlbumSubtype.USER_GENERIC, fetchOptions);
423  let album: photoAccessHelper.Album = await fetchResult.getFirstObject();
424  phAccessHelper.deleteAlbums([album], (err) => {
425    if (err) {
426      console.error(`deletePhotoAlbumsCallback failed with err: ${err.code}, ${err.message}`);
427      return;
428    }
429    console.info('deletePhotoAlbumsCallback successfully');
430  });
431  fetchResult.close();
432}
433```
434
435### deleteAlbums<sup>(deprecated)</sup>
436
437deleteAlbums(albums: Array&lt;Album&gt;): Promise&lt;void&gt;
438
439删除相册,使用Promise方式返回结果。
440
441删除相册前需先确保相册存在,只能删除用户相册。
442
443> **说明:** 
444>
445> 从API version 10开始支持,从API version 11开始废弃。建议使用[MediaAlbumChangeRequest.deleteAlbums](#deletealbums11)替代。
446
447**系统接口**:此接口为系统接口。
448
449**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
450
451**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
452
453**参数:**
454
455| 参数名   | 类型                     | 必填 | 说明                      |
456| -------- | ------------------------ | ---- | ------------------------- |
457| albums  |  Array&lt;[Album](#album)&gt;          | 是   | 待删除相册的数组。              |
458
459**返回值:**
460
461| 类型                        | 说明           |
462| --------------------------- | -------------- |
463| Promise&lt;void&gt; | Promise对象,返回void。 |
464
465**错误码:**
466
467接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
468
469| 错误码ID | 错误信息 |
470| -------- | ---------------------------------------- |
471| 202   |  Called by non-system application.         |
472| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
473| 13900012     | Permission denied.         |
474| 13900020     | Invalid argument.         |
475| 14000011       | System inner fail.         |
476
477**示例:**
478
479```ts
480import { dataSharePredicates } from '@kit.ArkData';
481import { BusinessError } from '@kit.BasicServicesKit';
482
483async function example() {
484  // 示例代码为删除相册名为newAlbumName的相册。
485  console.info('deleteAlbumsDemo');
486  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
487  predicates.equalTo('album_name', 'newAlbumName');
488  let fetchOptions: photoAccessHelper.FetchOptions = {
489    fetchColumns: [],
490    predicates: predicates
491  };
492  let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.USER, photoAccessHelper.AlbumSubtype.USER_GENERIC, fetchOptions);
493  let album: photoAccessHelper.Album = await fetchResult.getFirstObject();
494  phAccessHelper.deleteAlbums([album]).then(() => {
495    console.info('deletePhotoAlbumsPromise successfully');
496    }).catch((err: BusinessError) => {
497      console.error(`deletePhotoAlbumsPromise failed with err: ${err.code}, ${err.message}`);
498  });
499  fetchResult.close();
500}
501```
502
503### getHiddenAlbums<sup>11+</sup>
504
505getHiddenAlbums(mode: HiddenPhotosDisplayMode, options: FetchOptions, callback: AsyncCallback&lt;FetchResult&lt;Album&gt;&gt;): void
506
507根据隐藏文件显示模式和检索选项获取系统中的隐藏相册,使用callback方式返回结果。
508
509**系统接口**:此接口为系统接口。
510
511**需要权限**:ohos.permission.READ_IMAGEVIDEOohos.permission.MANAGE_PRIVATE_PHOTOS
512
513**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
514
515**参数:**
516
517| 参数名   | 类型                     | 必填 | 说明                      |
518| -------- | ------------------------ | ---- | ------------------------- |
519| mode  | [HiddenPhotosDisplayMode](#hiddenphotosdisplaymode11)         | 是   | 隐藏文件显示模式  |
520| options  | [FetchOptions](js-apis-photoAccessHelper.md#fetchoptions)         | 是   |  检索选项  |
521| callback |  AsyncCallback&lt;[FetchResult](js-apis-photoAccessHelper.md#fetchresult)&lt;[Album](#album)&gt;&gt; | 是   | callback返回获取相册的结果集。 |
522
523**错误码:**
524
525接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
526
527| 错误码ID | 错误信息 |
528| -------- | ---------------------------------------- |
529| 201      |  Permission verification failed, usually the result returned by VerifyAccessToken.         |
530| 202      |  Permission verification failed, application which is not a system application uses system API.         |
531| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
532| 14000011       | System inner fail.         |
533
534**示例:**
535
536```ts
537import { dataSharePredicates } from '@kit.ArkData';
538
539// 获取系统中包含隐藏文件且相册名为'newAlbumName'的相册
540async function getHiddenAlbumsView() {
541  console.info('getHiddenAlbumsViewDemo');
542  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
543  predicates.equalTo('album_name', 'newAlbumName');
544  let fetchOptions: photoAccessHelper.FetchOptions = {
545    fetchColumns: [],
546    predicates: predicates
547  };
548  phAccessHelper.getHiddenAlbums(photoAccessHelper.HiddenPhotosDisplayMode.ALBUMS_MODE, fetchOptions,
549    async (err, fetchResult) => {
550      if (fetchResult === undefined) {
551        console.error('getHiddenAlbumsViewCallback fetchResult is undefined');
552        return;
553      }
554      let album = await fetchResult.getFirstObject();
555      console.info('getHiddenAlbumsViewCallback successfully, album name: ' + album.albumName);
556      fetchResult.close();
557  });
558}
559```
560
561### getHiddenAlbums<sup>11+</sup>
562
563getHiddenAlbums(mode: HiddenPhotosDisplayMode, callback: AsyncCallback&lt;FetchResult&lt;Album&gt;&gt;): void
564
565根据隐藏文件显示模式获取系统中的隐藏相册,使用callback方式返回结果
566
567**系统接口**:此接口为系统接口。
568
569**需要权限**:ohos.permission.READ_IMAGEVIDEOohos.permission.MANAGE_PRIVATE_PHOTOS
570
571**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
572
573**参数:**
574
575| 参数名   | 类型                     | 必填 | 说明                      |
576| -------- | ------------------------ | ---- | ------------------------- |
577| mode  | [HiddenPhotosDisplayMode](#hiddenphotosdisplaymode11)         | 是   | 隐藏文件显示模式  |
578| callback |  AsyncCallback&lt;[FetchResult](js-apis-photoAccessHelper.md#fetchresult)&lt;[Album](#album)&gt;&gt; | 是   | callback返回获取相册的结果集。 |
579
580**错误码:**
581
582接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
583
584| 错误码ID | 错误信息 |
585| -------- | ---------------------------------------- |
586| 201      |  Permission verification failed, usually the result returned by VerifyAccessToken.         |
587| 202      |  Permission verification failed, application which is not a system application uses system API.         |
588| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
589| 14000011       | System inner fail.         |
590
591**示例:**
592
593```ts
594import { dataSharePredicates } from '@kit.ArkData';
595
596// 获取系统预置的隐藏相册
597async function getSysHiddenAlbum() {
598  console.info('getSysHiddenAlbumDemo');
599  phAccessHelper.getHiddenAlbums(photoAccessHelper.HiddenPhotosDisplayMode.ASSETS_MODE, async (err, fetchResult) => {
600    if (fetchResult === undefined) {
601      console.error('getSysHiddenAlbumCallback fetchResult is undefined');
602      return;
603    }
604    let hiddenAlbum: photoAccessHelper.Album = await fetchResult.getFirstObject();
605    console.info('getSysHiddenAlbumCallback successfully, albumUri: ' + hiddenAlbum.albumUri);
606    fetchResult.close();
607  });
608}
609
610// 获取隐藏相册-相册视图,即系统中包含隐藏文件的相册(不包含系统预置的隐藏相册本身和回收站相册)
611async function getHiddenAlbumsView() {
612  console.info('getHiddenAlbumsViewDemo');
613  phAccessHelper.getHiddenAlbums(photoAccessHelper.HiddenPhotosDisplayMode.ALBUMS_MODE, async (err, fetchResult) => {
614    if (fetchResult === undefined) {
615      console.error('getHiddenAlbumsViewCallback fetchResult is undefined');
616      return;
617    }
618    let albums: Array<photoAccessHelper.Album> = await fetchResult.getAllObjects();
619    console.info('getHiddenAlbumsViewCallback successfully, albums size: ' + albums.length);
620
621    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
622    let fetchOption: photoAccessHelper.FetchOptions = {
623      fetchColumns: [],
624      predicates: predicates
625    };
626    for (let i = 0; i < albums.length; i++) {
627      // 获取相册中的隐藏文件
628      albums[i].getAssets(fetchOption, (err, assetFetchResult) => {
629        console.info('album get hidden assets successfully, getCount: ' + assetFetchResult.getCount());
630      });
631    }
632    fetchResult.close();
633  });
634}
635```
636
637### getHiddenAlbums<sup>11+</sup>
638
639getHiddenAlbums(mode: HiddenPhotosDisplayMode, options?: FetchOptions): Promise&lt;FetchResult&lt;Album&gt;&gt;
640
641根据隐藏文件显示模式和检索选项获取系统中的隐藏相册,使用Promise方式返回结果。
642
643**系统接口**:此接口为系统接口。
644
645**需要权限**:ohos.permission.READ_IMAGEVIDEOohos.permission.MANAGE_PRIVATE_PHOTOS
646
647**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
648
649**参数:**
650
651| 参数名   | 类型                     | 必填 | 说明                      |
652| -------- | ------------------------ | ---- | ------------------------- |
653| mode  | [HiddenPhotosDisplayMode](#hiddenphotosdisplaymode11)         | 是   | 隐藏文件显示模式  |
654| options  | [FetchOptions](js-apis-photoAccessHelper.md#fetchoptions)         | 否   |  检索选项,不填时默认根据隐藏文件显示模式检索。      |
655
656**返回值:**
657
658| 类型                        | 说明           |
659| --------------------------- | -------------- |
660| Promise&lt;[FetchResult](js-apis-photoAccessHelper.md#fetchresult)&lt;[Album](#album)&gt;&gt; | Promise对象,返回获取相册的结果集。
661
662**错误码:**
663
664接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
665
666| 错误码ID | 错误信息 |
667| -------- | ---------------------------------------- |
668| 201      |  Permission verification failed, usually the result returned by VerifyAccessToken.         |
669| 202      |  Permission verification failed, application which is not a system application uses system API.         |
670| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
671| 14000011       | System inner fail.         |
672
673**示例:**
674
675```ts
676import { dataSharePredicates } from '@kit.ArkData';
677import { BusinessError } from '@kit.BasicServicesKit';
678
679// 获取系统预置的隐藏相册
680async function getSysHiddenAlbum() {
681  console.info('getSysHiddenAlbumDemo');
682  phAccessHelper.getHiddenAlbums(photoAccessHelper.HiddenPhotosDisplayMode.ASSETS_MODE)
683    .then( async (fetchResult) => {
684      if (fetchResult === undefined) {
685        console.error('getSysHiddenAlbumPromise fetchResult is undefined');
686        return;
687      }
688      let hiddenAlbum: photoAccessHelper.Album = await fetchResult.getFirstObject();
689      console.info('getAlbumsPromise successfully, albumUri: ' + hiddenAlbum.albumUri);
690      fetchResult.close();
691    }).catch((err: BusinessError) => {
692      console.error(`getSysHiddenAlbumPromise failed with err: ${err.code}, ${err.message}`);
693    });
694}
695
696// 获取隐藏相册-相册视图,即系统中包含隐藏文件的相册(不包含系统预置的隐藏相册本身和回收站相册)
697async function getHiddenAlbumsView() {
698  console.info('getHiddenAlbumsViewDemo');
699  phAccessHelper.getHiddenAlbums(photoAccessHelper.HiddenPhotosDisplayMode.ALBUMS_MODE).then( async (fetchResult) => {
700    if (fetchResult === undefined) {
701      console.error('getHiddenAlbumsViewPromise fetchResult is undefined');
702      return;
703    }
704    let albums: Array<photoAccessHelper.Album> = await fetchResult.getAllObjects();
705    console.info('getHiddenAlbumsViewPromise successfully, albums size: ' + albums.length);
706
707    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
708    let fetchOption: photoAccessHelper.FetchOptions = {
709      fetchColumns: [],
710      predicates: predicates
711    };
712    for (let i = 0; i < albums.length; i++) {
713      // 获取相册中的隐藏文件
714      albums[i].getAssets(fetchOption).then((assetFetchResult) => {
715        console.info('album get hidden assets successfully, getCount: ' + assetFetchResult.getCount());
716      }).catch((err: BusinessError) => {
717        console.error(`album get hidden assets failed with error: ${err.code}, ${err.message}`);
718      });
719    }
720    fetchResult.close();
721  }).catch((err: BusinessError) => {
722    console.error(`getHiddenAlbumsViewPromise failed with err: ${err.code}, ${err.message}`);
723  });
724}
725```
726
727### deleteAssets<sup>(deprecated)</sup>
728
729deleteAssets(uriList: Array&lt;string&gt;, callback: AsyncCallback&lt;void&gt;): void
730
731删除媒体文件,删除的文件进入到回收站,使用callback方式返回结果。
732
733> **说明:** 
734>
735> 从API version 10开始支持,从API version 11开始废弃。建议使用[MediaAssetChangeRequest.deleteAssets](js-apis-photoAccessHelper.md#deleteassets11)替代。
736
737**系统接口**:此接口为系统接口。
738
739**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
740
741**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
742
743**参数:**
744
745| 参数名   | 类型                      | 必填 | 说明       |
746| -------- | ------------------------- | ---- | ---------- |
747| uriList | Array&lt;string&gt; | 是   | 待删除的媒体文件uri数组。 |
748| callback | AsyncCallback&lt;void&gt; | 是   | callback返回void。 |
749
750**错误码:**
751
752接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
753
754| 错误码ID | 错误信息 |
755| -------- | ---------------------------------------- |
756| 202   |  Called by non-system application.         |
757| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
758| 13900012     | Permission denied.         |
759| 13900020     | Invalid argument.         |
760| 14000002       | Invalid uri.         |
761| 14000011       | System inner fail.         |
762
763**示例:**
764
765```ts
766import { dataSharePredicates } from '@kit.ArkData';
767
768async function example() {
769  console.info('deleteAssetDemo');
770  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
771  let fetchOptions: photoAccessHelper.FetchOptions = {
772    fetchColumns: [],
773    predicates: predicates
774  };
775  try {
776    let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOptions);
777    let asset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject();
778    if (asset === undefined) {
779      console.error('asset not exist');
780      return;
781    }
782    phAccessHelper.deleteAssets([asset.uri], (err) => {
783      if (err === undefined) {
784        console.info('deleteAssets successfully');
785      } else {
786        console.error(`deleteAssets failed with error: ${err.code}, ${err.message}`);
787      }
788    });
789  } catch (err) {
790    console.error(`fetch failed, error: ${err.code}, ${err.message}`);
791  }
792}
793```
794
795### deleteAssets<sup>(deprecated)</sup>
796
797deleteAssets(uriList: Array&lt;string&gt;): Promise&lt;void&gt;
798
799删除媒体文件,删除的文件进入到回收站,使用Promise方式返回结果。
800
801> **说明:** 
802>
803> 从API version 10开始支持,从API version 11开始废弃。建议使用[MediaAssetChangeRequest.deleteAssets](js-apis-photoAccessHelper.md#deleteassets11)替代。
804
805**系统接口**:此接口为系统接口。
806
807**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
808
809**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
810
811**参数:**
812
813| 参数名   | 类型                      | 必填 | 说明       |
814| -------- | ------------------------- | ---- | ---------- |
815| uriList | Array&lt;string&gt; | 是   | 待删除的媒体文件uri数组。 |
816
817**返回值:**
818
819| 类型                                    | 说明              |
820| --------------------------------------- | ----------------- |
821| Promise&lt;void&gt;| Promise对象,返回void。 |
822
823**错误码:**
824
825接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
826
827| 错误码ID | 错误信息 |
828| -------- | ---------------------------------------- |
829| 202   |  Called by non-system application.         |
830| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
831| 13900012     | Permission denied.         |
832| 13900020     | Invalid argument.         |
833| 14000002       | Invalid uri.         |
834| 14000011       | System inner fail.         |
835
836**示例:**
837
838```ts
839import { dataSharePredicates } from '@kit.ArkData';
840
841async function example() {
842  console.info('deleteDemo');
843  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
844  let fetchOptions: photoAccessHelper.FetchOptions = {
845    fetchColumns: [],
846    predicates: predicates
847  };
848  try {
849    let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOptions);
850    let asset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject();
851    if (asset === undefined) {
852      console.error('asset not exist');
853      return;
854    }
855    await phAccessHelper.deleteAssets([asset.uri]);
856    console.info('deleteAssets successfully');
857  } catch (err) {
858    console.error(`deleteAssets failed with error: ${err.code}, ${err.message}`);
859  }
860}
861```
862
863### getPhotoIndex
864
865getPhotoIndex(photoUri: string, albumUri: string, options: FetchOptions, callback: AsyncCallback&lt;number&gt;): void
866
867获取相册中图片或视频的位置,使用callback方式返回结果。
868
869**系统接口**:此接口为系统接口。
870
871**需要权限**:ohos.permission.READ_IMAGEVIDEO
872
873**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
874
875**参数:**
876
877| 参数名   | 类型                      | 必填 | 说明       |
878| -------- | ------------------------- | ---- | ---------- |
879| photoUri | string | 是   | 所查询的图库资源的uri。 |
880| albumUri | string | 是   | 相册uri,可以为空字符串,为空字符串时默认查询全部图库资源。   |
881| options  | [FetchOptions](js-apis-photoAccessHelper.md#fetchoptions)       | 是   |  检索选项,predicates中必须设置一种检索排序方式,不设置或多设置均会导致接口调用异常。      |
882| callback | AsyncCallback&lt;number&gt;| 是   | callback返回相册中资源的索引。 |
883
884**错误码:**
885
886接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
887
888| 错误码ID | 错误信息 |
889| -------- | ---------------------------------------- |
890| 202     |  Called by non-system application.         |
891| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
892| 13900012     | Permission denied.         |
893| 13900020     | Invalid argument.         |
894| 14000011       | System inner fail.         |
895
896**示例:**
897
898```ts
899import { dataSharePredicates } from '@kit.ArkData';
900
901async function example() {
902  try {
903    console.info('getPhotoIndexDemo');
904    let predicatesForGetAsset: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
905    let fetchOp: photoAccessHelper.FetchOptions = {
906      fetchColumns: [],
907      predicates: predicatesForGetAsset
908    };
909    // Obtain the uri of the album
910    let albumFetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.SYSTEM, photoAccessHelper.AlbumSubtype.FAVORITE, fetchOp);
911    let album: photoAccessHelper.Album = await albumFetchResult.getFirstObject();
912    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
913    predicates.orderByAsc(photoAccessHelper.PhotoKeys.DATE_MODIFIED);
914    let fetchOptions: photoAccessHelper.FetchOptions = {
915      fetchColumns: [photoAccessHelper.PhotoKeys.DATE_MODIFIED],
916      predicates: predicates
917    };
918    let photoFetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await album.getAssets(fetchOptions);
919    let expectIndex = 1;
920    // Obtain the uri of the second file
921    let photoAsset: photoAccessHelper.PhotoAsset = await photoFetchResult.getObjectByPosition(expectIndex);
922
923    phAccessHelper.getPhotoIndex(photoAsset.uri, album.albumUri, fetchOptions, (err, index) => {
924      if (err === undefined) {
925        console.info(`getPhotoIndex successfully and index is : ${index}`);
926      } else {
927        console.error(`getPhotoIndex failed; error: ${err.code}, ${err.message}`);
928      }
929    });
930  } catch (error) {
931    console.error(`getPhotoIndex failed; error: ${error.code}, ${error.message}`);
932  }
933}
934```
935
936### getPhotoIndex
937
938getPhotoIndex(photoUri: string, albumUri: string, options: FetchOptions): Promise&lt;number&gt;
939
940获取相册中图片或视频的位置,使用Promise方式返回结果。
941
942**系统接口**:此接口为系统接口。
943
944**需要权限**:ohos.permission.READ_IMAGEVIDEO
945
946**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
947
948**参数:**
949
950| 参数名   | 类型                      | 必填 | 说明       |
951| -------- | ------------------------- | ---- | ---------- |
952| photoUri | string | 是   | 所查询的图库资源的uri。 |
953| albumUri | string | 是   | 相册uri,可以为空字符串,为空字符串时默认查询全部图库资源。   |
954| options  | [FetchOptions](js-apis-photoAccessHelper.md#fetchoptions)       | 是   |  检索选项,predicates中必须设置一种检索排序方式,不设置或多设置均会导致接口调用异常。      |
955
956**返回值:**
957
958| 类型                                    | 说明              |
959| --------------------------------------- | ----------------- |
960| Promise&lt;number&gt;| 返回相册中资源的索引。 |
961
962**错误码:**
963
964接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
965
966| 错误码ID | 错误信息 |
967| -------- | ---------------------------------------- |
968| 202     |  Called by non-system application.         |
969| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
970| 13900012     | Permission denied.         |
971| 13900020     | Invalid argument.         |
972| 14000011       | System inner fail.         |
973
974**示例:**
975
976```ts
977import { dataSharePredicates } from '@kit.ArkData';
978import { BusinessError } from '@kit.BasicServicesKit';
979
980async function example() {
981  try {
982    console.info('getPhotoIndexDemo');
983    let predicatesForGetAsset: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
984    let fetchOp: photoAccessHelper.FetchOptions = {
985      fetchColumns: [],
986      predicates: predicatesForGetAsset
987    };
988    // Obtain the uri of the album
989    let albumFetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.SYSTEM, photoAccessHelper.AlbumSubtype.FAVORITE, fetchOp);
990    let album: photoAccessHelper.Album = await albumFetchResult.getFirstObject();
991    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
992    predicates.orderByAsc(photoAccessHelper.PhotoKeys.DATE_MODIFIED);
993    let fetchOptions: photoAccessHelper.FetchOptions = {
994      fetchColumns: [photoAccessHelper.PhotoKeys.DATE_MODIFIED],
995      predicates: predicates
996    };
997    let photoFetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await album.getAssets(fetchOptions);
998    let expectIndex = 1;
999    // Obtain the uri of the second file
1000    let photoAsset: photoAccessHelper.PhotoAsset = await photoFetchResult.getObjectByPosition(expectIndex);
1001    phAccessHelper.getPhotoIndex(photoAsset.uri, album.albumUri, fetchOptions).then((index) => {
1002      console.info(`getPhotoIndex successfully and index is : ${index}`);
1003    }).catch((err: BusinessError) => {
1004      console.error(`getPhotoIndex failed; error: ${err.code}, ${err.message}`);
1005    });
1006  } catch (error) {
1007    console.error(`getPhotoIndex failed; error: ${error.code}, ${error.message}`);
1008  }
1009}
1010```
1011
1012### saveFormInfo<sup>11+</sup>
1013
1014saveFormInfo(info:FormInfo, callback: AsyncCallback&lt;void&gt;):void
1015
1016将图库卡片相关信息保存到数据库中,使用callback方式返回结果。
1017
1018**系统接口**:此接口为系统接口。
1019
1020**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
1021
1022**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
1023
1024**参数:**
1025
1026| 参数名   | 类型                     | 必填 | 说明                      |
1027| -------- | ------------------------ | ---- | ------------------------- |
1028| info  | [FormInfo](#forminfo11)        | 是   | 图库卡片信息,包括图库卡片的id和卡片绑定的图片的uri。              |
1029| callback |  AsyncCallback&lt;void&gt; | 是   | callback返回void。 |
1030
1031**错误码:**
1032
1033接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
1034
1035| 错误码ID | 错误信息 |
1036| -------- | ---------------------------------------- |
1037| 201   | Permission verification failed, usually the result returned by VerifyAccessToken.         |
1038| 202   | Permission verification failed, application which is not a system application uses system API.         |
1039| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
1040| 14000011       | System inner fail.         |
1041
1042
1043**示例:**
1044
1045```ts
1046import { dataSharePredicates } from '@kit.ArkData';
1047import { BusinessError } from '@kit.BasicServicesKit';
1048
1049async function example() {
1050  console.info('saveFormInfoDemo');
1051  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
1052  let fetchOptions: photoAccessHelper.FetchOptions = {
1053    fetchColumns: [],
1054    predicates: predicates
1055  };
1056  let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOptions);
1057  let photoAsset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject();
1058
1059  let info: photoAccessHelper.FormInfo = {
1060    //formId是一个由纯数字组成的字符串,uri为图库中存在的图片的uri信息,图库中无图片创建卡片时uri需为空字符串
1061    formId : "20230116123",
1062    uri: photoAsset.uri,
1063  }
1064
1065  phAccessHelper.saveFormInfo(info, async (err: BusinessError) => {
1066    if (err == undefined) {
1067      console.info('saveFormInfo success');
1068    } else {
1069      console.error(`saveFormInfo fail with error: ${err.code}, ${err.message}`);
1070    }
1071  });
1072}
1073```
1074
1075### saveFormInfo<sup>11+</sup>
1076
1077saveFormInfo(info:FormInfo):Promise&lt;void&gt;
1078
1079将图库卡片相关信息保存到数据库中,使用Promise方式返回结果。
1080
1081**系统接口**:此接口为系统接口。
1082
1083**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
1084
1085**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
1086
1087**参数:**
1088
1089| 参数名   | 类型                     | 必填 | 说明                      |
1090| -------- | ------------------------ | ---- | ------------------------- |
1091| info  | [FormInfo](#forminfo11)        | 是   | 图库卡片信息,包括图库卡片的id和卡片绑定的图片的uri。              |
1092
1093**返回值:**
1094
1095| 类型                                    | 说明              |
1096| --------------------------------------- | ----------------- |
1097| Promise&lt;void&gt;| Promise对象,返回void。 |
1098
1099**错误码:**
1100
1101接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
1102
1103| 错误码ID | 错误信息 |
1104| -------- | ---------------------------------------- |
1105| 201   | Permission verification failed, usually the result returned by VerifyAccessToken.         |
1106| 202   | Permission verification failed, application which is not a system application uses system API.         |
1107| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
1108| 14000011       | System inner fail.         |
1109
1110**示例:**
1111
1112```ts
1113import { dataSharePredicates } from '@kit.ArkData';
1114import { BusinessError } from '@kit.BasicServicesKit';
1115
1116async function example() {
1117  console.info('saveFormInfoDemo');
1118  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
1119  let fetchOptions: photoAccessHelper.FetchOptions = {
1120    fetchColumns: [],
1121    predicates: predicates
1122  };
1123  let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOptions);
1124  let photoAsset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject();
1125
1126  let info: photoAccessHelper.FormInfo = {
1127    //formId是一个由纯数字组成的字符串,uri为图库中存在的图片的uri信息,图库中无图片创建卡片时uri需为空字符串
1128    formId: "20230116123",
1129    uri: photoAsset.uri,
1130  }
1131
1132  phAccessHelper.saveFormInfo(info).then(() => {
1133    console.info('saveFormInfo successfully');
1134  }).catch((err: BusinessError) => {
1135    console.error(`saveFormInfo failed with error: ${err.code}, ${err.message}`);
1136  });
1137}
1138```
1139
1140### removeFormInfo<sup>11+</sup>
1141
1142removeFormInfo(info:FormInfo, callback: AsyncCallback&lt;void&gt;):void
1143
1144从数据库中删除图库卡片信息,使用callback方式返回结果。
1145
1146**系统接口**:此接口为系统接口。
1147
1148**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
1149
1150**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
1151
1152**参数:**
1153
1154| 参数名   | 类型                     | 必填 | 说明                      |
1155| -------- | ------------------------ | ---- | ------------------------- |
1156| info  | [FormInfo](#forminfo11)        | 是   |  图库卡片信息,包括图库卡片的id和卡片绑定的图片的uri。              |
1157| callback |  AsyncCallback&lt;void&gt; | 是   | callback返回void。 |
1158
1159**错误码:**
1160
1161接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
1162
1163| 错误码ID | 错误信息 |
1164| -------- | ---------------------------------------- |
1165| 201   | Permission verification failed, usually the result returned by VerifyAccessToken.         |
1166| 202   | Permission verification failed, application which is not a system application uses system API.         |
1167| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
1168| 14000011       | System inner fail.         |
1169
1170**示例:**
1171
1172```ts
1173import { BusinessError } from '@kit.BasicServicesKit';
1174
1175async function example() {
1176  console.info('removeFormInfoDemo');
1177  let info: photoAccessHelper.FormInfo = {
1178    //formId是一个由纯数字组成的字符串,移除卡片的时候uri填空即可
1179    formId: "20230116123",
1180    uri: "",
1181  }
1182
1183  phAccessHelper.removeFormInfo(info, async (err: BusinessError) => {
1184    if (err == undefined) {
1185      console.info('removeFormInfo success');
1186    } else {
1187      console.error(`removeFormInfo fail with error: ${err.code}, ${err.message}`);
1188    }
1189  });
1190}
1191```
1192
1193### removeFormInfo<sup>11+</sup>
1194
1195removeFormInfo(info:FormInfo):Promise&lt;void&gt;
1196
1197从数据库中删除图库卡片信息,使用Promise方式返回结果。
1198
1199**系统接口**:此接口为系统接口。
1200
1201**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
1202
1203**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
1204
1205**参数:**
1206
1207| 参数名   | 类型                     | 必填 | 说明                      |
1208| -------- | ------------------------ | ---- | ------------------------- |
1209| info  | [FormInfo](#forminfo11)        | 是   |  图库卡片信息,包括图库卡片的id和卡片绑定的图片的uri。              |
1210
1211**返回值:**
1212
1213| 类型                                    | 说明              |
1214| --------------------------------------- | ----------------- |
1215| Promise&lt;void&gt;| Promise对象,返回void。 |
1216
1217**错误码:**
1218
1219接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
1220
1221| 错误码ID | 错误信息 |
1222| -------- | ---------------------------------------- |
1223| 201   | Permission verification failed, usually the result returned by VerifyAccessToken.         |
1224| 202   | Permission verification failed, application which is not a system application uses system API.         |
1225| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
1226| 14000011       | System inner fail.         |
1227
1228**示例:**
1229
1230```ts
1231import { BusinessError } from '@kit.BasicServicesKit';
1232
1233async function example() {
1234  console.info('removeFormInfoDemo');
1235  let info: photoAccessHelper.FormInfo = {
1236    //formId是一个由纯数字组成的字符串,移除卡片的时候uri填空即可
1237    formId: "20230116123",
1238    uri: "",
1239  }
1240
1241  phAccessHelper.removeFormInfo(info).then(() => {
1242    console.info('removeFormInfo successfully');
1243  }).catch((err: BusinessError) => {
1244    console.error(`removeFormInfo failed with error: ${err.code}, ${err.message}`);
1245  });
1246}
1247```
1248
1249### createAssetsForApp<sup>12+</sup>
1250
1251createAssetsForApp(bundleName: string, appName: string, appId: string, photoCreationConfigs: Array&lt;PhotoCreationConfig&gt;): Promise&lt;Array&lt;string&gt;&gt;
1252
1253调用接口代替应用创建媒体库uri列表。Uri已对appId对应的应用授权,支持应用使用uri写入图片/视频。
1254
1255**系统接口**:此接口为系统接口。
1256
1257**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
1258
1259**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
1260
1261**参数:**
1262
1263| 参数名   | 类型                                                                   | 必填 | 说明                      |
1264| -------- |----------------------------------------------------------------------| ---- | ------------------------- |
1265| bundleName | string | 是 | 需保存图片/视频文件的应用bundle name。 |
1266| appName | string | 是 | 需保存图片/视频文件的应用app name。 |
1267| appId | string | 是 | 需保存图片/视频文件的应用app id。 |
1268| photoCreationConfigs | Array&lt;[PhotoCreationConfig](./js-apis-photoAccessHelper.md#photocreationconfig12)&gt; | 是 | 保存图片/视频到媒体库的配置。 |
1269
1270**返回值:**
1271
1272| 类型                                    | 说明              |
1273| --------------------------------------- | ----------------- |
1274| Promise&lt;Array&lt;string&gt;&gt; | Promise对象,返回给接口调用方的的媒体库文件uri列表。Uri已对appId对应的应用授权,支持应用写入数据。 |
1275
1276**错误码:**
1277
1278接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
1279
1280| 错误码ID | 错误信息 |
1281| -------- | ---------------------------------------- |
1282| 201 |  Permission denied.         |
1283| 202 |  Called by non-system application.         |
1284| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameters types; 3. Parameter verification failed. |
1285| 14000011       | Internal system error.         |
1286
1287**示例:**
1288
1289```ts
1290async function example() {
1291  console.info('createAssetsForAppDemo.');
1292
1293  try {
1294    let bundleName: string = 'testBundleName';
1295    let appName: string = 'testAppName';
1296    let appId: string = 'testAppId';
1297    let photoCreationConfigs: Array<photoAccessHelper.PhotoCreationConfig> = [
1298      {
1299        title: 'test',
1300        fileNameExtension: 'jpg',
1301        photoType: photoAccessHelper.PhotoType.IMAGE,
1302        subtype: photoAccessHelper.PhotoSubtype.DEFAULT,
1303      }
1304    ];
1305    let desFileUris: Array<string> = await phAccessHelper.createAssetsForApp(bundleName, appName, appId, photoCreationConfigs);
1306    console.info('createAssetsForApp success, data is ' + desFileUris);
1307  } catch (err) {
1308    console.error(`createAssetsForApp failed with error: ${err.code}, ${err.message}`);
1309  }
1310}
1311```
1312
1313### grantPhotoUriPermission<sup>12+</sup>
1314
1315grantPhotoUriPermission(appid: string, uri: string, photoPermissionType: PhotoPermissionType, hideSensitiveType: HideSensitiveType): Promise&lt;number&gt;
1316
1317给应用授予uri的访问权限,使用Promise方式返回结果。
1318
1319**系统接口**:此接口为系统接口。
1320
1321**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
1322
1323**需要权限:** ohos.permission.WRITE_IMAGEVIDEO
1324
1325**参数:**
1326
1327| 参数名   | 类型                                                                   | 必填 | 说明                      |
1328| -------- |----------------------------------------------------------------------| ---- | ------------------------- |
1329| appid | string | 是 | 应用标识,将访问权限授予给appid标识的应用。 |
1330| uri | string | 是 | 媒体资源的uri,uri表示的资源的访问权限将授予给应用。|
1331| photoPermissionType | [PhotoPermissionType](#photopermissiontype12) | 是 | 权限类型,将photoPermissionType表示的权限授予给应用。权限的覆盖规则参考枚举类。|
1332| hideSensitiveType | [HideSensitiveType](#hidesensitivetype12) | 是 | 脱敏类型,预留参数,目前可传枚举类中任一值。|
1333
1334**返回值:**
1335
1336| 类型                                    | 说明              |
1337| --------------------------------------- | ----------------- |
1338| Promise&lt;number&gt; | Promise对象,0:授权成功。 1:已有权限。-1:授权失败。|
1339
1340**错误码:**
1341
1342接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
1343
1344| 错误码ID | 错误信息 |
1345| -------- | ---------------------------------------- |
1346| 201 |  Permission denied.         |
1347| 202 |  Called by non-system application.         |
1348| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameters types; 3. Parameter verification failed. |
1349| 14000011       | Internal system error.         |
1350
1351**示例:**
1352
1353```ts
1354async function example() {
1355  console.info('grantPhotoUriPermissionDemo');
1356
1357  try {
1358    let result = await phAccessHelper.grantPhotoUriPermission('com.example.myapplication01',
1359        'file://media/Photo/1/IMG_datetime_0001/displayName.jpg',
1360        photoAccessHelper.PhotoPermissionType.TEMPORARY_READ_IMAGEVIDEO,
1361        photoAccessHelper.HideSensitiveType.HIDE_LOCATION_AND_SHOTING_PARM);
1362
1363    console.info('grantPhotoUriPermission success, result=' + result);
1364  } catch (err) {
1365    console.error('grantPhotoUriPermission failed, error=' + err);
1366  }
1367}
1368```
1369
1370### grantPhotoUrisPermission<sup>12+</sup>
1371
1372grantPhotoUrisPermission(appid: string, uriList: Array&lt;string&gt;, photoPermissionType: PhotoPermissionType, hideSensitiveType: HideSensitiveType): Promise&lt;number&gt;
1373
1374给应用授予uri列表的访问权限,使用Promise方式返回结果。
1375
1376**系统接口**:此接口为系统接口。
1377
1378**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
1379
1380**需要权限:** ohos.permission.WRITE_IMAGEVIDEO
1381
1382**参数:**
1383
1384| 参数名   | 类型                                                                   | 必填 | 说明                      |
1385| -------- |----------------------------------------------------------------------| ---- | ------------------------- |
1386| appid | string | 是 | 应用标识,将访问权限授予给appid标识的应用。 |
1387| uriList | Array&lt;string&gt; | 是 | 媒体资源的uri列表,uri列表中的资源的访问权限将授予给应用。uri列表最多容纳 1000 条uri。|
1388| photoPermissionType | [PhotoPermissionType](#photopermissiontype12) | 是 | 权限类型,将photoPermissionType表示的权限授予给应用。权限的覆盖规则参考枚举类。|
1389| hideSensitiveType | [HideSensitiveType](#hidesensitivetype12) | 是 | 脱敏类型,预留参数,目前可传枚举类中任一值。|
1390
1391**返回值:**
1392
1393| 类型                                    | 说明              |
1394| --------------------------------------- | ----------------- |
1395| Promise&lt;number&gt; | Promise对象,0: 授权成功。 -1:授权失败。|
1396
1397**错误码:**
1398
1399接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
1400
1401| 错误码ID | 错误信息 |
1402| -------- | ---------------------------------------- |
1403| 201 |  Permission denied.         |
1404| 202 |  Called by non-system application.         |
1405| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameters types; 3. Parameter verification failed. |
1406| 14000011       | Internal system error.         |
1407
1408**示例:**
1409
1410```ts
1411async function example() {
1412  console.info('grantPhotoUrisPermissionDemo');
1413
1414  try {
1415    // 媒体资源的uri列表
1416    let uris: Array<string> = [
1417      'file://media/Photo/11/IMG_datetime_0001/displayName1.jpg',
1418      'file://media/Photo/22/IMG_datetime_0002/displayName2.jpg'];
1419    let result = await phAccessHelper.grantPhotoUrisPermission('com.example.myapplication01', uris,
1420        photoAccessHelper.PhotoPermissionType.TEMPORARY_READ_IMAGEVIDEO,
1421        photoAccessHelper.HideSensitiveType.HIDE_LOCATION_AND_SHOTING_PARM);
1422
1423    console.info('grantPhotoUrisPermission success, result=' + result);
1424  } catch (err) {
1425    console.error('grantPhotoUrisPermission failed, error=' + err);
1426  }
1427}
1428```
1429
1430### cancelPhotoUriPermission<sup>12+</sup>
1431
1432cancelPhotoUriPermission(appid: string, uri: string, photoPermissionType: PhotoPermissionType): Promise&lt;number&gt;
1433
1434取消应用对uri的访问权限,使用Promise方式返回结果。
1435
1436**系统接口**:此接口为系统接口。
1437
1438**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
1439
1440**需要权限:** ohos.permission.WRITE_IMAGEVIDEO
1441
1442**参数:**
1443
1444| 参数名   | 类型                                                                   | 必填 | 说明                      |
1445| -------- |----------------------------------------------------------------------| ---- | ------------------------- |
1446| appid | string | 是 | 应用标识,将取消appid标识应用对媒体资源的访问权限。 |
1447| uri | string | 是 | 媒体资源的uri,取消应用对uri表示的资源的访问权限。|
1448| photoPermissionType | [PhotoPermissionType](#photopermissiontype12) | 是 | 权限类型,取消应用对媒体资源的访问权限为photoPermissionType。|
1449
1450**返回值:**
1451
1452| 类型                                    | 说明              |
1453| --------------------------------------- | ----------------- |
1454| Promise&lt;number&gt; | Promise对象,0:取消成功。-1:取消失败。|
1455
1456**错误码:**
1457
1458接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
1459
1460| 错误码ID | 错误信息 |
1461| -------- | ---------------------------------------- |
1462| 201 |  Permission denied.         |
1463| 202 |  Called by non-system application.         |
1464| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameters types; 3. Parameter verification failed. |
1465| 14000011       | Internal system error.         |
1466
1467**示例:**
1468
1469```ts
1470async function example() {
1471  console.info('cancelPhotoUriPermissionDemo');
1472
1473  try {
1474    let result = await phAccessHelper.cancelPhotoUriPermission('com.example.myapplication01',
1475        'file://media/Photo/11/IMG_datetime_0001/displayName.jpg',
1476        photoAccessHelper.PhotoPermissionType.TEMPORARY_READ_IMAGEVIDEO);
1477
1478    console.info('cancelPhotoUriPermission success, result=' + result);
1479  } catch (err) {
1480    console.error('cancelPhotoUriPermission failed, error=' + err);
1481  }
1482}
1483```
1484
1485### createAssetsForAppWithMode<sup>12+</sup>
1486
1487createAssetsForAppWithMode(boundleName: string, appName: string, appId: string, tokenId: number, authorizationMode: AuthorizationMode, photoCreationConfigs:Array\<PhotoCreationConfig>): Promise\<Array\<string>>
1488
1489提供给应用保存短时授权,使用Promise方式返回结果。
1490
1491**系统接口**:此接口为系统接口。
1492
1493**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
1494
1495**需要权限:** ohos.permission.WRITE_IMAGEVIDEO
1496
1497**参数:**
1498
1499| 参数名   | 类型                                                                   | 必填 | 说明                      |
1500| -------- |----------------------------------------------------------------------| ---- | ------------------------- |
1501| boundleName| string | 是 | 需要保存图片/视频文件的应用boundleName。 |
1502| appName| string | 是 | 需要保存图片/视频文件的应用appName。|
1503| appId| string | 是 | 需要保存图片/视频文件的应用app id。 |
1504| tokenId| number| 是 | 需要短时授权应用的唯一标识。 |
1505| authorizationMode| [AuthorizationMode](#authorizationmode12)| 是 | 授权模式。授予应用短期内再次保存无需重复弹框确认。 |
1506| PhotoCreationConfig| Array\<[PhotoCreationConfig](js-apis-photoAccessHelper.md#photocreationconfig12)> | 是 | 保存图片/视频到媒体库的配置。|
1507
1508**返回值:**
1509
1510| 类型                                    | 说明              |
1511| --------------------------------------- | ----------------- |
1512| Promise\<Array\<string>> | Promise对象,返回给接口调用方的媒体库文件uri列表。Uri已对appId对应的应用授权,支持应用写入数据。|
1513
1514**错误码:**
1515
1516接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
1517
1518| 错误码ID | 错误信息 |
1519| -------- | ---------------------------------------- |
1520| 201 |  Permission denied.         |
1521| 202 |  Called by non-system application.         |
1522| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameters types; 3. Parameter verification failed. |
1523| 14000011       | Internal system error.         |
1524
1525**示例:**
1526
1527```ts
1528async function example() {
1529  console.info('createAssetsForAppWithModeDemo.');
1530
1531  try {
1532    let photoCreationConfigs: Array<photoAccessHelper.PhotoCreationConfig> = [
1533      {
1534        title: '123456',
1535        fileNameExtension: 'jpg',
1536        photoType: photoAccessHelper.PhotoType.IMAGE,
1537        subtype: photoAccessHelper.PhotoSubtype.DEFAULT,
1538      }
1539    ];
1540    let bundleName: string = 'testBundleName';
1541    let appName: string = 'testAppName';
1542    let appId: string = 'testAppId';
1543    let tokenId: number = 537197950;
1544    let authorizationMode: photoAccessHelper.AuthorizationMode = photoAccessHelper.AuthorizationMode.SHORT_TIME_AUTHORIZATION;
1545    let result: Array<string> = await phAccessHelper.createAssetsForAppWithMode(bundleName, appName, appId, tokenId, authorizationMode, photoCreationConfigs);
1546    console.info(`result: ${JSON.stringify(result)}`);
1547    console.info('Photo createAssetsForAppWithMode success.');
1548  } catch (err) {
1549    console.error(`createAssetsForAppWithMode failed with error: ${err.code}, ${err.message}`);
1550  }
1551}
1552```
1553
1554## PhotoAsset
1555
1556提供封装文件属性的方法。
1557
1558### open<sup>(deprecated)</sup>
1559
1560open(mode: string, callback: AsyncCallback&lt;number&gt;): void
1561
1562打开当前文件,使用callback方式返回异步结果。
1563
1564> **说明:** 
1565>
1566> 从API version 10开始支持,从API version 11开始废弃。出于安全考量,不再提供获取正式媒体文件句柄的接口。
1567
1568**注意**:当前此(写)操作是互斥的操作,返回的文件描述符在使用完毕后需要调用close进行释放。
1569
1570**系统接口**:此接口为系统接口。
1571
1572**需要权限**:ohos.permission.READ_IMAGEVIDEOohos.permission.WRITE_IMAGEVIDEO
1573
1574**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
1575
1576**参数:**
1577
1578| 参数名      | 类型                          | 必填   | 说明                                  |
1579| -------- | --------------------------- | ---- | ----------------------------------- |
1580| mode     | string                      | 是    | 打开文件方式,分别为:'r'(只读), 'w'(只写), 'rw'(读写)。 |
1581| callback | AsyncCallback&lt;number&gt; | 是    | callback返回文件描述符。                            |
1582
1583**错误码:**
1584
1585接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
1586
1587| 错误码ID | 错误信息 |
1588| -------- | ---------------------------------------- |
1589| 202     |  Called by non-system application.         |
1590| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
1591| 13900012     | Permission denied.         |
1592| 13900020     | Invalid argument.         |
1593| 14000011       | System inner fail.         |
1594
1595**示例:**
1596
1597```ts
1598async function example() {
1599  console.info('Open demo');
1600  let testFileName: string = 'testFile' + Date.now() + '.jpg';
1601  let photoAsset: photoAccessHelper.PhotoAsset = await phAccessHelper.createAsset(testFileName);
1602  photoAsset.open('rw', (err, fd) => {
1603    if (fd !== undefined) {
1604      console.info('File fd' + fd);
1605      photoAsset.close(fd);
1606    } else {
1607      console.error(`Open file err: ${err.code}, ${err.message}`);
1608    }
1609  });
1610}
1611```
1612
1613### open<sup>(deprecated)</sup>
1614
1615open(mode: string): Promise&lt;number&gt;
1616
1617打开当前文件,使用promise方式返回异步结果。
1618
1619> **说明:** 
1620>
1621> 从API version 10开始支持,从API version 11开始废弃。出于安全考量,不再提供获取正式媒体文件句柄的接口。
1622
1623**注意**:当前此(写)操作是互斥的操作,返回的文件描述符在使用完毕后需要调用close进行释放。
1624
1625**系统接口**:此接口为系统接口。
1626
1627**需要权限**:ohos.permission.READ_IMAGEVIDEOohos.permission.WRITE_IMAGEVIDEO
1628
1629**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
1630
1631**参数:**
1632
1633| 参数名  | 类型     | 必填   | 说明                                  |
1634| ---- | ------ | ---- | ----------------------------------- |
1635| mode | string | 是    | 打开文件方式,分别为:'r'(只读), 'w'(只写), 'rw'(读写)。 |
1636
1637**返回值:**
1638
1639| 类型                    | 说明            |
1640| --------------------- | ------------- |
1641| Promise&lt;number&gt; | Promise对象,返回文件描述符。 |
1642
1643**错误码:**
1644
1645接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
1646
1647| 错误码ID | 错误信息 |
1648| -------- | ---------------------------------------- |
1649| 202     |  Called by non-system application.         |
1650| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
1651| 13900012     | Permission denied.         |
1652| 13900020     | Invalid argument.         |
1653| 14000011       | System inner fail.         |
1654
1655**示例:**
1656
1657```ts
1658async function example() {
1659  console.info('Open demo');
1660  try {
1661    let testFileName: string = 'testFile' + Date.now() + '.jpg';
1662    let photoAsset: photoAccessHelper.PhotoAsset = await phAccessHelper.createAsset(testFileName);
1663    let fd: number = await photoAsset.open('rw');
1664    if (fd !== undefined) {
1665      console.info('File fd' + fd);
1666      photoAsset.close(fd);
1667    } else {
1668      console.error('Open file fail');
1669    }
1670  } catch (err) {
1671    console.error(`Open demo err: ${err.code}, ${err.message}`);
1672  }
1673}
1674```
1675
1676### setFavorite<sup>(deprecated)</sup>
1677
1678setFavorite(favoriteState: boolean, callback: AsyncCallback&lt;void&gt;): void
1679
1680将文件设置为收藏文件,使用callback方式返回异步结果。
1681
1682> **说明:** 
1683>
1684> 从API version 10开始支持,从API version 11开始废弃。建议使用[MediaAssetChangeRequest.setFavorite](#setfavorite11)替代。
1685
1686**系统接口**:此接口为系统接口。
1687
1688**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
1689
1690**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
1691
1692**参数:**
1693
1694| 参数名        | 类型                        | 必填   | 说明                                 |
1695| ---------- | ------------------------- | ---- | ---------------------------------- |
1696| favoriteState | boolean                   | 是    | 是否设置为收藏文件, true:设置为收藏文件,false:取消收藏。 |
1697| callback   | AsyncCallback&lt;void&gt; | 是    | callback返回void。                              |
1698
1699**错误码:**
1700
1701接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
1702
1703| 错误码ID | 错误信息 |
1704| -------- | ---------------------------------------- |
1705| 202        |  Called by non-system application.         |
1706| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
1707| 13900012     | Permission denied.         |
1708| 13900020     | Invalid argument.         |
1709| 14000011       | System inner fail.         |
1710
1711**示例:**
1712
1713```ts
1714import { dataSharePredicates } from '@kit.ArkData';
1715
1716async function example() {
1717  console.info('setFavoriteDemo');
1718  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
1719  let fetchOption: photoAccessHelper.FetchOptions = {
1720    fetchColumns: [],
1721    predicates: predicates
1722  };
1723  let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOption);
1724  let asset = await fetchResult.getFirstObject();
1725  asset.setFavorite(true, (err) => {
1726    if (err === undefined) {
1727      console.info('favorite successfully');
1728    } else {
1729      console.error(`favorite failed with error: ${err.code}, ${err.message}`);
1730    }
1731  });
1732}
1733```
1734
1735### setFavorite<sup>(deprecated)</sup>
1736
1737setFavorite(favoriteState: boolean): Promise&lt;void&gt;
1738
1739将文件设置为收藏文件,使用promise方式返回异步结果。
1740
1741> **说明:** 
1742>
1743> 从API version 10开始支持,从API version 11开始废弃。建议使用[MediaAssetChangeRequest.setFavorite](#setfavorite11)替代。
1744
1745**系统接口**:此接口为系统接口。
1746
1747**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
1748
1749**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
1750
1751**参数:**
1752
1753| 参数名        | 类型      | 必填   | 说明                                 |
1754| ---------- | ------- | ---- | ---------------------------------- |
1755| favoriteState | boolean | 是    | 是否设置为收藏文件, true:设置为收藏文件,false:取消收藏。 |
1756
1757**返回值:**
1758
1759| 类型                  | 说明         |
1760| ------------------- | ---------- |
1761| Promise&lt;void&gt; | Promise对象,返回void。 |
1762
1763**错误码:**
1764
1765接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
1766
1767| 错误码ID | 错误信息 |
1768| -------- | ---------------------------------------- |
1769| 202        |  Called by non-system application.         |
1770| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
1771| 13900012     | Permission denied.         |
1772| 13900020     | Invalid argument.         |
1773| 14000011       | System inner fail.         |
1774
1775**示例:**
1776
1777```ts
1778import { dataSharePredicates } from '@kit.ArkData';
1779import { BusinessError } from '@kit.BasicServicesKit';
1780
1781async function example() {
1782  console.info('setFavoriteDemo');
1783  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
1784  let fetchOption: photoAccessHelper.FetchOptions = {
1785    fetchColumns: [],
1786    predicates: predicates
1787  };
1788  let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOption);
1789  let asset = await fetchResult.getFirstObject();
1790  asset.setFavorite(true).then(() => {
1791    console.info('setFavorite successfully');
1792  }).catch((err: BusinessError) => {
1793    console.error(`setFavorite failed with error: ${err.code}, ${err.message}`);
1794  });
1795}
1796```
1797
1798### setHidden<sup>(deprecated)</sup>
1799
1800setHidden(hiddenState: boolean, callback: AsyncCallback&lt;void&gt;): void
1801
1802将文件设置为隐私文件,使用callback方式返回异步结果。
1803
1804隐私文件存在隐私相册中,用户通过隐私相册去获取隐私文件后可以通过设置hiddenState为false来从隐私相册中移除。
1805
1806> **说明:** 
1807>
1808> 从API version 10开始支持,从API version 11开始废弃。建议使用[MediaAssetChangeRequest.setHidden](#sethidden11)替代。
1809
1810**系统接口**:此接口为系统接口。
1811
1812**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
1813
1814**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
1815
1816**参数:**
1817
1818| 参数名        | 类型                        | 必填   | 说明                                 |
1819| ---------- | ------------------------- | ---- | ---------------------------------- |
1820| hiddenState | boolean                   | 是    | 是否设置为隐藏文件,true:将文件资产放入隐藏相册;false:从隐藏相册中恢复。 |
1821| callback   | AsyncCallback&lt;void&gt; | 是    | callback返回void。                              |
1822
1823**错误码:**
1824
1825接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
1826
1827| 错误码ID | 错误信息 |
1828| -------- | ---------------------------------------- |
1829| 202        |  Called by non-system application.         |
1830| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
1831| 13900012     | Permission denied.         |
1832| 13900020     | Invalid argument.         |
1833| 14000011       | System inner fail.         |
1834
1835**示例:**
1836
1837```ts
1838import { dataSharePredicates } from '@kit.ArkData';
1839
1840async function example() {
1841  console.info('setHiddenDemo');
1842  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
1843  let fetchOption: photoAccessHelper.FetchOptions = {
1844    fetchColumns: [],
1845    predicates: predicates
1846  };
1847  let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOption);
1848  let asset = await fetchResult.getFirstObject();
1849  asset.setHidden(true, (err) => {
1850    if (err === undefined) {
1851      console.info('setHidden successfully');
1852    } else {
1853      console.error(`setHidden failed with error: ${err.code}, ${err.message}`);
1854    }
1855  });
1856}
1857```
1858
1859### setHidden<sup>(deprecated)</sup>
1860
1861setHidden(hiddenState: boolean): Promise&lt;void&gt;
1862
1863将文件设置为隐私文件,使用promise方式返回异步结果。
1864
1865隐私文件存在隐私相册中,用户通过隐私相册去获取隐私文件后可以通过设置hiddenState为false来从隐私相册中移除。
1866
1867> **说明:** 
1868>
1869> 从API version 10开始支持,从API version 11开始废弃。建议使用[MediaAssetChangeRequest.setHidden](#sethidden11)替代。
1870
1871**系统接口**:此接口为系统接口。
1872
1873**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
1874
1875**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
1876
1877**参数:**
1878
1879| 参数名        | 类型      | 必填   | 说明                                 |
1880| ---------- | ------- | ---- | ---------------------------------- |
1881| hiddenState | boolean | 是    | 是否设置为隐藏文件,true:将文件资产放入隐藏相册;false:从隐藏相册中恢复。 |
1882
1883**返回值:**
1884
1885| 类型                  | 说明         |
1886| ------------------- | ---------- |
1887| Promise&lt;void&gt; | Promise对象,返回void。 |
1888
1889**错误码:**
1890
1891接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
1892
1893| 错误码ID | 错误信息 |
1894| -------- | ---------------------------------------- |
1895| 202        |  Called by non-system application.         |
1896| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
1897| 13900012     | Permission denied.         |
1898| 13900020     | Invalid argument.         |
1899| 14000011       | System inner fail.         |
1900
1901**示例:**
1902
1903```ts
1904import { dataSharePredicates } from '@kit.ArkData';
1905import { BusinessError } from '@kit.BasicServicesKit';
1906
1907async function example() {
1908  // 示例代码为将文件从隐藏相册中恢复,需要先在隐藏相册预置资源
1909  console.info('setHiddenDemo');
1910  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
1911  let fetchOption: photoAccessHelper.FetchOptions = {
1912    fetchColumns: [],
1913    predicates: predicates
1914  };
1915  let albumList: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.SYSTEM, photoAccessHelper.AlbumSubtype.HIDDEN);
1916  let album = await albumList.getFirstObject();
1917  let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await album.getAssets(fetchOption);
1918  let asset = await fetchResult.getFirstObject();
1919  asset.setHidden(false).then(() => {
1920    console.info('setHidden successfully');
1921  }).catch((err: BusinessError) => {
1922    console.error(`setHidden failed with error: ${err.code}, ${err.message}`);
1923  });
1924}
1925```
1926
1927### getExif
1928
1929getExif(): Promise&lt;string&gt;
1930
1931返回jpg格式图片Exif标签组成的json格式的字符串,该方法使用Promise方式返回结果。
1932
1933此接口中获取的Exif标签信息是由[image](../apis-image-kit/js-apis-image.md)模块提供。Exif标签详细信息请参考[image.PropertyKey](../apis-image-kit/js-apis-image.md#propertykey7)。
1934
1935**注意**:此接口返回的是Exif标签组成的json格式的字符串,完整Exif信息由all_exif与[PhotoKeys.USER_COMMENT](#photokeys)组成,fetchColumns需要传入这两个字段。
1936
1937**系统接口**:此接口为系统接口。
1938
1939**需要权限**:ohos.permission.READ_IMAGEVIDEO
1940
1941**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
1942
1943**返回值:**
1944
1945| 类型                                    | 说明              |
1946| --------------------------------------- | ----------------- |
1947| Promise&lt;string&gt; | 返回Exif标签组成的json格式的字符串。 |
1948
1949**错误码:**
1950
1951接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
1952
1953| 错误码ID | 错误信息 |
1954| -------- | ---------------------------------------- |
1955| 202        |  Called by non-system application.         |
1956| 401    | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. |
1957| 13900012     | Permission denied.         |
1958| 13900020     | Invalid argument.         |
1959| 14000011       | System inner fail.         |
1960
1961**示例:**
1962
1963```ts
1964import { dataSharePredicates } from '@kit.ArkData';
1965
1966async function example() {
1967  try {
1968    console.info('getExifDemo');
1969    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
1970    let fetchOptions: photoAccessHelper.FetchOptions = {
1971      fetchColumns: [ 'all_exif',  photoAccessHelper.PhotoKeys.USER_COMMENT],
1972      predicates: predicates
1973    };
1974    let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOptions);
1975    let photoAsset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject();
1976    let exifMessage = await photoAsset.getExif();
1977    let userCommentKey = 'UserComment';
1978    let userComment = JSON.stringify(JSON.parse(exifMessage), [userCommentKey]);
1979    console.info('getExifDemo userComment: ' + JSON.stringify(userComment));
1980    fetchResult.close();
1981  } catch (err) {
1982    console.error(`getExifDemoCallback failed with error: ${err.code}, ${err.message}`);
1983  }
1984}
1985```
1986
1987### getExif
1988
1989getExif(callback: AsyncCallback&lt;string&gt;): void
1990
1991返回jpg格式图片Exif标签组成的json格式的字符串,使用callback方式返回异步结果。
1992
1993此接口中获取的Exif标签信息是由[image](../apis-image-kit/js-apis-image.md)模块提供。Exif标签详细信息请参考[image.PropertyKey](../apis-image-kit/js-apis-image.md#propertykey7)。
1994
1995**注意**:此接口返回的是Exif标签组成的json格式的字符串,完整Exif信息由all_exif与[PhotoKeys.USER_COMMENT](#photokeys)组成,fetchColumns需要传入这两个字段。
1996
1997**系统接口**:此接口为系统接口。
1998
1999**需要权限**:ohos.permission.READ_IMAGEVIDEO
2000
2001**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
2002
2003**参数:**
2004
2005| 参数名   | 类型                      | 必填 | 说明       |
2006| -------- | ------------------------- | ---- | ---------- |
2007| callback | AsyncCallback&lt;string&gt; | 是   | 返回Exif字段组成的json格式的字符串。 |
2008
2009**错误码:**
2010
2011接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
2012
2013| 错误码ID | 错误信息 |
2014| -------- | ---------------------------------------- |
2015| 202        |  Called by non-system application.         |
2016| 401    | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. |
2017| 13900012     | Permission denied.         |
2018| 13900020     | Invalid argument.         |
2019| 14000011       | System inner fail.         |
2020
2021**示例:**
2022
2023```ts
2024import { dataSharePredicates } from '@kit.ArkData';
2025
2026async function example() {
2027  try {
2028    console.info('getExifDemo');
2029    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
2030    predicates.isNotNull('all_exif')
2031    let fetchOptions: photoAccessHelper.FetchOptions = {
2032      fetchColumns: ['all_exif', photoAccessHelper.PhotoKeys.USER_COMMENT],
2033      predicates: predicates
2034    };
2035    let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOptions);
2036    let photoAsset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject();
2037    console.info('getExifDemo photoAsset displayName: ' + JSON.stringify(photoAsset.displayName));
2038    let userCommentKey = 'UserComment';
2039    photoAsset.getExif((err, exifMessage) => {
2040      if (exifMessage !== undefined) {
2041        let userComment = JSON.stringify(JSON.parse(exifMessage), [userCommentKey]);
2042        console.info('getExifDemo userComment: ' + JSON.stringify(userComment));
2043      } else {
2044        console.error(`getExif failed, error: ${err.code}, ${err.message}`);
2045      }
2046    });
2047    fetchResult.close();
2048  } catch (err) {
2049    console.error(`getExifDemoCallback failed with error: ${err.code}, ${err.message}`);
2050  }
2051}
2052```
2053
2054### setUserComment<sup>(deprecated)</sup>
2055
2056setUserComment(userComment: string): Promise&lt;void&gt;
2057
2058修改图片或者视频的备注信息,该方法使用Promise来返回结果。
2059
2060> **说明:** 
2061>
2062> 从API version 10开始支持,从API version 11开始废弃。建议使用[MediaAssetChangeRequest.setUserComment](#setusercomment11)替代。
2063
2064**注意**:此接口只可修改图片或者视频的备注信息。
2065
2066**系统接口**:此接口为系统接口。
2067
2068**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
2069
2070**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
2071
2072**参数:**
2073
2074| 参数名   | 类型                      | 必填 | 说明       |
2075| -------- | ------------------------- | ---- | ---------- |
2076| userComment | string | 是   | 待修改的图片或视频的备注信息,备注信息最长为420字符。 |
2077
2078**返回值:**
2079
2080| 类型                                    | 说明              |
2081| --------------------------------------- | ----------------- |
2082|Promise&lt;void&gt; | Promise对象,返回void。 |
2083
2084**错误码:**
2085
2086接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
2087
2088| 错误码ID | 错误信息 |
2089| -------- | ---------------------------------------- |
2090| 202        |  Called by non-system application.         |
2091| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
2092| 13900012     | Permission denied.         |
2093| 13900020     | Invalid argument.         |
2094| 14000011       | System inner fail.         |
2095
2096**示例:**
2097
2098```ts
2099import { dataSharePredicates } from '@kit.ArkData';
2100
2101async function example() {
2102  try {
2103    console.info('setUserCommentDemo')
2104    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
2105    let fetchOptions: photoAccessHelper.FetchOptions = {
2106      fetchColumns: [],
2107      predicates: predicates
2108    };
2109    let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOptions);
2110    let photoAsset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject();
2111    let userComment = 'test_set_user_comment';
2112    await photoAsset.setUserComment(userComment);
2113  } catch (err) {
2114    console.error(`setUserCommentDemoPromise failed with error: ${err.code}, ${err.message}`);
2115  }
2116}
2117```
2118
2119### setUserComment<sup>(deprecated)</sup>
2120
2121setUserComment(userComment: string, callback: AsyncCallback&lt;void&gt;): void
2122
2123修改图片或者视频的备注信息,该方法使用callback形式来返回结果。
2124
2125> **说明:** 
2126>
2127> 从API version 10开始支持,从API version 11开始废弃。建议使用[MediaAssetChangeRequest.setUserComment](#setusercomment11)替代。
2128
2129**注意**:此接口只可修改图片或者视频的备注信息。
2130
2131**系统接口**:此接口为系统接口。
2132
2133**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
2134
2135**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
2136
2137**参数:**
2138
2139| 参数名   | 类型                      | 必填 | 说明       |
2140| -------- | ------------------------- | ---- | ---------- |
2141| userComment | string | 是   | 待修改的图片或视频的备注信息,备注信息最长为420字符。 |
2142| callback | AsyncCallback&lt;void&gt; | 是   | callback返回void。 |
2143
2144**错误码:**
2145
2146接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
2147
2148| 错误码ID | 错误信息 |
2149| -------- | ---------------------------------------- |
2150| 202        |  Called by non-system application.         |
2151| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
2152| 13900012     | Permission denied.         |
2153| 13900020     | Invalid argument.         |
2154| 14000011       | System inner fail.         |
2155
2156**示例:**
2157
2158```ts
2159import { dataSharePredicates } from '@kit.ArkData';
2160
2161async function example() {
2162  try {
2163    console.info('setUserCommentDemo')
2164    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
2165    let fetchOptions: photoAccessHelper.FetchOptions = {
2166      fetchColumns: [],
2167      predicates: predicates
2168    };
2169    let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOptions);
2170    let photoAsset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject();
2171    let userComment = 'test_set_user_comment';
2172    photoAsset.setUserComment(userComment, (err) => {
2173      if (err === undefined) {
2174        console.info('setUserComment successfully');
2175      } else {
2176        console.error(`setUserComment failed with error: ${err.code}, ${err.message}`);
2177      }
2178    });
2179  } catch (err) {
2180    console.error(`setUserCommentDemoCallback failed with error: ${err.code}, ${err.message}`);
2181  }
2182}
2183```
2184
2185### setPending<sup>11+</sup>
2186
2187setPending(pendingState: boolean, callback: AsyncCallback&lt;void&gt;): void
2188
2189为图片或视频资源设置pending状态,该方法使用callback形式来返回结果。
2190
2191将文件通过`setPending(true)`设置为pending状态后,只能通过`setPending(false)`解除pending状态。可以通过`photoAsset.get(photoAccessHelper.PhotoKeys.PENDING)`的方式获取是否为pending状态,pending状态下返回true,否则返回false。
2192
2193**注意**:setPending只能在文件的创建期使用,在文件的首次创建流程的close之后,无法通过setPending(true)将文件设置为pending状态。
2194
2195**系统接口**:此接口为系统接口。
2196
2197**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
2198
2199**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
2200
2201**参数:**
2202
2203| 参数名        | 类型      | 必填   | 说明                                 |
2204| ---------- | ------- | ---- | ---------------------------------- |
2205| pendingState | boolean | 是    | 设置的pending状态,true为设置pending状态,false为解除pending状态 |
2206| callback | AsyncCallback&lt;void&gt; | 是    | Callback对象,返回void |
2207
2208**错误码:**
2209
2210接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
2211
2212| 错误码ID | 错误信息 |
2213| -------- | ---------------------------------------- |
2214| 201   | Permission denied.        |
2215| 202   | Called by non-system application.         |
2216| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
2217| 14000011   | System inner fail.        |
2218
2219**示例:**
2220
2221```ts
2222async function example() {
2223  try {
2224    console.info('setPendingCallbackDemo');
2225    let testFileName: string = 'testFile' + Date.now() + '.jpg';
2226    let photoAsset = await phAccessHelper.createAsset(testFileName);
2227    let fd = await photoAsset.open('rw');
2228    photoAsset.setPending(true, async (err) => {
2229      if (err !== undefined) {
2230        console.error(`setPending(true) failed with error: ${err.code}, ${err.message}`);
2231        return;
2232      }
2233      // write photo buffer in fd
2234      photoAsset.setPending(false, async (err) => {
2235        if (err !== undefined) {
2236          console.error(`setPending(false) failed with error: ${err.code}, ${err.message}`);
2237          return;
2238        }
2239        await photoAsset.close(fd);
2240      });
2241    });
2242  } catch (err) {
2243    console.error(`setPendingCallbackDemo failed with error: ${err.code}, ${err.message}`);
2244  }
2245}
2246```
2247
2248### setPending<sup>11+</sup>
2249
2250setPending(pendingState: boolean): Promise&lt;void&gt;
2251
2252为图片或视频资源设置pending状态,该方法使用promise形式来返回结果。
2253
2254将文件通过`setPending(true)`设置为pending状态后,只能通过`setPending(false)`解除pending状态。可以通过`photoAsset.get(photoAccessHelper.PhotoKeys.PENDING)`的方式获取是否为pending状态,pending状态下返回true,否则返回false。
2255
2256**注意**:setPending只能在文件的创建期使用,在文件的首次创建流程的close之后,无法通过setPending(true)将文件设置为pending状态。
2257
2258**系统接口**:此接口为系统接口。
2259
2260**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
2261
2262**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
2263
2264**参数:**
2265
2266| 参数名        | 类型      | 必填   | 说明                                 |
2267| ---------- | ------- | ---- | ---------------------------------- |
2268| pendingState | boolean | 是    | 设置的pending状态,true为设置pending状态,false为解除pending状态。 |
2269
2270**返回值:**
2271
2272| 类型                                    | 说明              |
2273| --------------------------------------- | ----------------- |
2274|Promise&lt;boolean&gt; | Promise对象,返回void。 |
2275
2276**错误码:**
2277
2278接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
2279
2280| 错误码ID | 错误信息 |
2281| -------- | ---------------------------------------- |
2282| 201   | Permission denied.        |
2283| 202   | Called by non-system application.         |
2284| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
2285| 14000011   | System inner fail.        |
2286
2287**示例:**
2288
2289```ts
2290async function example() {
2291  try {
2292    console.info('setPendingPromiseDemo');
2293    let testFileName: string = 'testFile' + Date.now() + '.jpg';
2294    let photoAsset = await phAccessHelper.createAsset(testFileName);
2295    let fd = await photoAsset.open('rw');
2296    await photoAsset.setPending(true);
2297    // write photo buffer in fd
2298    photoAsset.setPending(false);
2299    await photoAsset.close(fd);
2300  } catch (err) {
2301    console.error(`setPendingPromiseDemo failed with error: ${err.code}, ${err.message}`);
2302  }
2303}
2304```
2305
2306### isEdited<sup>11+</sup>
2307
2308isEdited(callback: AsyncCallback&lt;boolean&gt;): void
2309
2310查询图片或视频资源是否被编辑过,该方法使用callback形式来返回结果。
2311
2312**系统接口**:此接口为系统接口。
2313
2314**需要权限**:ohos.permission.READ_IMAGEVIDEO
2315
2316**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
2317
2318**参数:**
2319
2320| 参数名        | 类型      | 必填   | 说明                                 |
2321| ---------- | ------- | ---- | ---------------------------------- |
2322| callback | AsyncCallback&lt;boolean&gt; | 是    | Callback对象,返回图片或视频资源是否被编辑过 |
2323
2324**错误码:**
2325
2326接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
2327
2328| 错误码ID | 错误信息 |
2329| -------- | ---------------------------------------- |
2330| 201   | Permission denied.        |
2331| 202   | Called by non-system application.         |
2332| 401    | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. |
2333| 14000011   | System inner fail.        |
2334
2335**示例:**
2336
2337```ts
2338import { dataSharePredicates } from '@kit.ArkData';
2339
2340async function example() {
2341  try {
2342    console.info('isEditedCallbackDemo')
2343    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
2344    let fetchOptions: photoAccessHelper.FetchOptions = {
2345      fetchColumns: [],
2346      predicates: predicates
2347    };
2348    let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOptions);
2349    let photoAsset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject();
2350    photoAsset.isEdited((err, isEdited) => {
2351      if (err === undefined) {
2352        if (isEdited === true) {
2353          console.info('Photo is edited');
2354        } else {
2355          console.info('Photo is not edited');
2356        }
2357      } else {
2358        console.error(`isEdited failed with error: ${err.code}, ${err.message}`);
2359      }
2360    });
2361  } catch (err) {
2362    console.error(`isEditedDemoCallback failed with error: ${err.code}, ${err.message}`);
2363  }
2364}
2365```
2366
2367### isEdited<sup>11+</sup>
2368
2369isEdited(): Promise&lt;boolean&gt;
2370
2371查询图片或视频资源是否被编辑过,该方法使用promise形式来返回结果。
2372
2373**系统接口**:此接口为系统接口。
2374
2375**需要权限**:ohos.permission.READ_IMAGEVIDEO
2376
2377**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
2378
2379**返回值:**
2380
2381| 类型                                    | 说明              |
2382| --------------------------------------- | ----------------- |
2383|Promise&lt;boolean&gt; | Promise对象,返回图片或视频资源是否被编辑过。 |
2384
2385
2386**错误码:**
2387
2388接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
2389
2390| 错误码ID | 错误信息 |
2391| -------- | ---------------------------------------- |
2392| 201   | Permission denied.        |
2393| 202   | Called by non-system application.         |
2394| 401    | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. |
2395| 14000011   | System inner fail.        |
2396
2397**示例:**
2398
2399```ts
2400import { dataSharePredicates } from '@kit.ArkData';
2401
2402async function example() {
2403  try {
2404    console.info('isEditedPromiseDemo')
2405    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
2406    let fetchOptions: photoAccessHelper.FetchOptions = {
2407      fetchColumns: [],
2408      predicates: predicates
2409    };
2410    let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOptions);
2411    let photoAsset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject();
2412    let isEdited = await photoAsset.isEdited();
2413    if (isEdited === true) {
2414      console.info('Photo is edited');
2415    } else {
2416      console.info('Photo is not edited');
2417    }
2418  } catch (err) {
2419    console.error(`isEditedDemoCallback failed with error: ${err.code}, ${err.message}`);
2420  }
2421}
2422```
2423
2424### requestEditData<sup>11+</sup>
2425
2426requestEditData(callback: AsyncCallback&lt;string&gt;): void
2427
2428获得图片或视频资源的编辑数据,该方法使用callback形式来返回结果。
2429
2430如果资源未编辑过,则返回一个空字符串。
2431
2432**系统接口**:此接口为系统接口。
2433
2434**需要权限**:ohos.permission.READ_IMAGEVIDEO
2435
2436**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
2437
2438**参数:**
2439
2440| 参数名        | 类型      | 必填   | 说明                                 |
2441| ---------- | ------- | ---- | ---------------------------------- |
2442| callback | AsyncCallback&lt;string&gt; | 是    | Callback对象,返回图片或视频资源的编辑数据 |
2443
2444**错误码:**
2445
2446接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
2447
2448| 错误码ID | 错误信息 |
2449| -------- | ---------------------------------------- |
2450| 201   | Permission denied.        |
2451| 202   | Called by non-system application.         |
2452| 401    | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. |
2453| 14000011   | System inner fail.        |
2454
2455**示例:**
2456
2457```ts
2458import { dataSharePredicates } from '@kit.ArkData';
2459
2460async function example() {
2461  try {
2462    console.info('requestEditDataCallbackDemo')
2463    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
2464    let fetchOptions: photoAccessHelper.FetchOptions = {
2465      fetchColumns: [],
2466      predicates: predicates
2467    };
2468    let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOptions);
2469    let photoAsset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject();
2470    photoAsset.requestEditData((err, editdata) => {
2471      if (err === undefined) {
2472        console.info('Editdata is ' + editdata);
2473      } else {
2474        console.error(`requestEditData failed with error: ${err.code}, ${err.message}`);
2475      }
2476    });
2477  } catch (err) {
2478    console.error(`requestEditDataCallbackDemo failed with error: ${err.code}, ${err.message}`);
2479  }
2480}
2481```
2482
2483### requestEditData<sup>11+</sup>
2484
2485requestEditData(): Promise&lt;string&gt;
2486
2487获得图片或视频资源的编辑数据,该方法使用promise形式来返回结果。
2488
2489如果资源未编辑过,则返回一个空字符串。
2490
2491**系统接口**:此接口为系统接口。
2492
2493**需要权限**:ohos.permission.READ_IMAGEVIDEO
2494
2495**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
2496
2497**返回值:**
2498
2499| 类型                                    | 说明              |
2500| --------------------------------------- | ----------------- |
2501|Promise&lt;string&gt; | Promise对象,返回图片或视频资源的编辑数据。 |
2502
2503
2504**错误码:**
2505
2506接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
2507
2508| 错误码ID | 错误信息 |
2509| -------- | ---------------------------------------- |
2510| 201   | Permission denied.        |
2511| 202   | Called by non-system application.         |
2512| 401    | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. |
2513| 14000011   | System inner fail.        |
2514
2515**示例:**
2516
2517```ts
2518import { dataSharePredicates } from '@kit.ArkData';
2519
2520async function example() {
2521  try {
2522    console.info('requestEditDataPromiseDemo')
2523    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
2524    let fetchOptions: photoAccessHelper.FetchOptions = {
2525      fetchColumns: [],
2526      predicates: predicates
2527    };
2528    let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOptions);
2529    let photoAsset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject();
2530    let editdata: string = await photoAsset.requestEditData();
2531    console.info('Editdata is ' + editdata);
2532  } catch (err) {
2533    console.error(`requestEditDataPromiseDemo failed with error: ${err.code}, ${err.message}`);
2534  }
2535}
2536```
2537
2538### getEditData<sup>11+</sup>
2539
2540getEditData(): Promise&lt;MediaAssetEditData&gt;
2541
2542获得资产编辑数据,该方法使用promise形式来返回结果。
2543
2544如果资源未编辑过,则返回的编辑数据的内容为空字符串。
2545
2546**系统接口**:此接口为系统接口。
2547
2548**需要权限**:ohos.permission.READ_IMAGEVIDEO
2549
2550**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
2551
2552**返回值:**
2553
2554| 类型                                    | 说明              |
2555| --------------------------------------- | ----------------- |
2556|Promise&lt;[MediaAssetEditData](#mediaasseteditdata11)&gt; | Promise对象,返回资产编辑数据。 |
2557
2558**错误码:**
2559
2560接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
2561
2562| 错误码ID | 错误信息 |
2563| -------- | ---------------------------------------- |
2564| 201   | Permission denied.        |
2565| 202   | Called by non-system application.         |
2566| 401    | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. |
2567| 14000011   | System inner fail.        |
2568
2569**示例:**
2570
2571```ts
2572import { dataSharePredicates } from '@kit.ArkData';
2573
2574async function example() {
2575  try {
2576    console.info('getEditDataDemo')
2577    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
2578    let fetchOptions: photoAccessHelper.FetchOptions = {
2579      fetchColumns: [],
2580      predicates: predicates
2581    };
2582    let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOptions);
2583    let photoAsset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject();
2584    let assetEditData: photoAccessHelper.MediaAssetEditData = await photoAsset.getEditData();
2585    let data: string = assetEditData.data;
2586    console.info('edit data is ' + data);
2587  } catch (err) {
2588    console.error(`getEditDataDemo failed with error: ${err.code}, ${err.message}`);
2589  }
2590}
2591```
2592
2593### requestSource<sup>11+</sup>
2594
2595requestSource(callback: AsyncCallback&lt;number&gt;): void
2596
2597打开源文件并返回fd,该方法使用callback形式来返回结果。
2598
2599**系统接口**:此接口为系统接口。
2600
2601**需要权限**:ohos.permission.READ_IMAGEVIDEO
2602
2603**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
2604
2605**参数:**
2606
2607| 参数名        | 类型      | 必填   | 说明                                 |
2608| ---------- | ------- | ---- | ---------------------------------- |
2609| callback | AsyncCallback&lt;number&gt; | 是    | Callback对象,返回源文件fd。 |
2610
2611**错误码:**
2612
2613接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
2614
2615| 错误码ID | 错误信息 |
2616| -------- | ---------------------------------------- |
2617| 201   | Permission denied.        |
2618| 202   | Called by non-system application.         |
2619| 401    | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. |
2620| 14000011   | System inner fail.        |
2621
2622**示例:**
2623
2624```ts
2625import { dataSharePredicates } from '@kit.ArkData';
2626
2627async function example() {
2628  try {
2629    console.info('requsetSourceCallbackDemo')
2630    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
2631    let fetchOptions: photoAccessHelper.FetchOptions = {
2632      fetchColumns: [],
2633      predicates: predicates
2634    };
2635    let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOptions);
2636    let photoAsset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject();
2637    photoAsset.requestSource((err, fd) => {
2638      if (err === undefined) {
2639        console.info('Source fd is ' + fd);
2640      } else {
2641        console.error(`requestSource failed with error: ${err.code}, ${err.message}`);
2642      }
2643    });
2644  } catch (err) {
2645    console.error(`requsetSourceCallbackDemo failed with error: ${err.code}, ${err.message}`);
2646  }
2647}
2648```
2649
2650### requestSource<sup>11+</sup>
2651
2652requestSource(): Promise&lt;number&gt;
2653
2654打开源文件并返回fd,该方法使用promise形式来返回结果。
2655
2656**系统接口**:此接口为系统接口。
2657
2658**需要权限**:ohos.permission.READ_IMAGEVIDEO
2659
2660**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
2661
2662**返回值:**
2663
2664| 类型                                    | 说明              |
2665| --------------------------------------- | ----------------- |
2666|Promise&lt;number&gt; | Promise对象,返回源文件fd。 |
2667
2668**错误码:**
2669
2670接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
2671
2672| 错误码ID | 错误信息 |
2673| -------- | ---------------------------------------- |
2674| 201   | Permission denied.        |
2675| 202   | Called by non-system application.         |
2676| 401    | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. |
2677| 14000011   | System inner fail.        |
2678
2679**示例:**
2680
2681```ts
2682import { dataSharePredicates } from '@kit.ArkData';
2683
2684async function example() {
2685  try {
2686    console.info('requsetSourcePromiseDemo')
2687    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
2688    let fetchOptions: photoAccessHelper.FetchOptions = {
2689      fetchColumns: [],
2690      predicates: predicates
2691    };
2692    let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOptions);
2693    let photoAsset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject();
2694    let fd = await photoAsset.requestSource();
2695    console.info('Source fd is ' + fd);
2696  } catch (err) {
2697    console.error(`requsetSourcePromiseDemo failed with error: ${err.code}, ${err.message}`);
2698  }
2699}
2700```
2701
2702### commitEditedAsset<sup>11+</sup>
2703
2704commitEditedAsset(editData: string, uri: string, callback: AsyncCallback&lt;void&gt;)
2705
2706提交编辑数据以及编辑后的图片或视频,该方法使用callback形式来返回结果。
2707
2708通过uri将编辑后的文件传递给媒体库,uri是编辑后的文件在应用沙箱下的FileUri,可参考[FileUri](../apis-core-file-kit/js-apis-file-fileuri.md)。
2709
2710**注意**:新的编辑数据提交后,将覆盖掉原来的编辑数据。
2711
2712**系统接口**:此接口为系统接口。
2713
2714**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
2715
2716**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
2717
2718**参数:**
2719
2720| 参数名        | 类型      | 必填   | 说明                                 |
2721| ---------- | ------- | ---- | ---------------------------------- |
2722| editData | string | 是    | 提交的编辑数据。 |
2723| uri | string | 是    | 提交的编辑后的图片或视频,在应用沙箱下的uri。 |
2724| callback | AsyncCallback&lt;void&gt; | 是    | Callback对象,返回void。 |
2725
2726**错误码:**
2727
2728接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
2729
2730| 错误码ID | 错误信息 |
2731| -------- | ---------------------------------------- |
2732| 201   | Permission denied.        |
2733| 202   | Called by non-system application.         |
2734| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
2735| 14000011   | System inner fail.        |
2736
2737**示例:**
2738
2739```ts
2740import { dataSharePredicates } from '@kit.ArkData';
2741
2742async function example() {
2743  try {
2744    console.info('commitEditedAssetCallbackDemo')
2745    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
2746    let fetchOptions: photoAccessHelper.FetchOptions = {
2747      fetchColumns: [],
2748      predicates: predicates
2749    };
2750    let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOptions);
2751    let photoAsset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject();
2752    let editData = '123456';
2753    let uri = 'file://com.example.temptest/data/storage/el2/base/haps/entry/files/test.jpg';
2754    photoAsset.commitEditedAsset(editData, uri, (err) => {
2755      if (err === undefined) {
2756        console.info('commitEditedAsset is successful');
2757      } else {
2758        console.error(`commitEditedAsset failed with error: ${err.code}, ${err.message}`);
2759      }
2760    });
2761  } catch (err) {
2762    console.error(`commitEditedAssetCallbackDemo failed with error: ${err.code}, ${err.message}`);
2763  }
2764}
2765```
2766
2767### commitEditedAsset<sup>11+</sup>
2768
2769commitEditedAsset(editData: string, uri: string): Promise&lt;void&gt;
2770
2771提交编辑数据以及编辑后的图片或视频,该方法使用promise形式来返回结果。
2772
2773通过uri将编辑后的文件传递给媒体库,uri是编辑后的文件在应用沙箱下的FileUri,可参考[FileUri](../apis-core-file-kit/js-apis-file-fileuri.md)。
2774
2775**注意**:新的编辑数据提交后,将覆盖掉原来的编辑数据。
2776
2777**系统接口**:此接口为系统接口。
2778
2779**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
2780
2781**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
2782
2783**参数:**
2784
2785| 参数名        | 类型      | 必填   | 说明                                 |
2786| ---------- | ------- | ---- | ---------------------------------- |
2787| editData | string | 是    | 提交的编辑数据。 |
2788| uri | string | 是    | 提交的编辑后的图片或视频,在应用沙箱下的uri。 |
2789
2790**返回值:**
2791
2792| 类型                                    | 说明              |
2793| --------------------------------------- | ----------------- |
2794|Promise&lt;void&gt; | Promise对象,返回void。 |
2795
2796**错误码:**
2797
2798接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
2799
2800| 错误码ID | 错误信息 |
2801| -------- | ---------------------------------------- |
2802| 201   | Permission denied.        |
2803| 202   | Called by non-system application.         |
2804| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
2805| 14000011   | System inner fail.        |
2806
2807**示例:**
2808
2809```ts
2810import { dataSharePredicates } from '@kit.ArkData';
2811
2812async function example() {
2813  try {
2814    console.info('commitEditedAssetPromiseDemo')
2815    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
2816    let fetchOptions: photoAccessHelper.FetchOptions = {
2817      fetchColumns: [],
2818      predicates: predicates
2819    };
2820    let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOptions);
2821    let photoAsset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject();
2822    let editData = '123456';
2823    let uri = 'file://com.example.temptest/data/storage/el2/base/haps/entry/files/test.jpg';
2824    await photoAsset.commitEditedAsset(editData, uri);
2825    console.info('commitEditedAsset is successful');
2826  } catch (err) {
2827    console.error(`commitEditedAssetPromiseDemo failed with error: ${err.code}, ${err.message}`);
2828  }
2829}
2830```
2831
2832### revertToOriginal<sup>11+</sup>
2833
2834revertToOriginal(callback: AsyncCallback&lt;void&gt;)
2835
2836回退到编辑前的状态,该方法使用callback形式来返回结果。
2837
2838**注意**:调用该接口后,编辑数据和编辑后的图片或视频资源都将被删除,无法恢复,请谨慎调用。
2839
2840**系统接口**:此接口为系统接口。
2841
2842**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
2843
2844**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
2845
2846**参数:**
2847
2848| 参数名        | 类型      | 必填   | 说明                                 |
2849| ---------- | ------- | ---- | ---------------------------------- |
2850| callback | AsyncCallback&lt;void&gt; | 是    | Callback对象,返回void。 |
2851
2852**错误码:**
2853
2854接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
2855
2856| 错误码ID | 错误信息 |
2857| -------- | ---------------------------------------- |
2858| 201   | Permission denied.        |
2859| 202   | Called by non-system application.         |
2860| 401    | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. |
2861| 14000011   | System inner fail.        |
2862
2863**示例:**
2864
2865```ts
2866import { dataSharePredicates } from '@kit.ArkData';
2867
2868async function example() {
2869  try {
2870    console.info('revertToOriginalCallbackDemo')
2871    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
2872    let fetchOptions: photoAccessHelper.FetchOptions = {
2873      fetchColumns: [],
2874      predicates: predicates
2875    };
2876    let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOptions);
2877    let photoAsset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject();
2878    photoAsset.revertToOriginal((err) => {
2879      if (err === undefined) {
2880        console.info('revertToOriginal is successful');
2881      } else {
2882        console.error(`revertToOriginal failed with error: ${err.code}, ${err.message}`);
2883      }
2884    });
2885  } catch (err) {
2886    console.error(`revertToOriginalCallbackDemo failed with error: ${err.code}, ${err.message}`);
2887  }
2888}
2889```
2890
2891### revertToOriginal<sup>11+</sup>
2892
2893revertToOriginal(): Promise&lt;void&gt;
2894
2895回退到编辑前的状态,该方法使用promise形式来返回结果。
2896
2897**注意**:调用该接口后,编辑数据和编辑后的图片或视频资源都将被删除,无法恢复,请谨慎调用。
2898
2899**系统接口**:此接口为系统接口。
2900
2901**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
2902
2903**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
2904
2905**返回值:**
2906
2907| 类型                                    | 说明              |
2908| --------------------------------------- | ----------------- |
2909|Promise&lt;string&gt; | Promise对象,返回void。 |
2910
2911**错误码:**
2912
2913接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
2914
2915| 错误码ID | 错误信息 |
2916| -------- | ---------------------------------------- |
2917| 201   | Permission denied.        |
2918| 202   | Called by non-system application.         |
2919| 401    | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. |
2920| 14000011   | System inner fail.        |
2921
2922**示例:**
2923
2924```ts
2925import { dataSharePredicates } from '@kit.ArkData';
2926
2927async function example() {
2928  try {
2929    console.info('revertToOriginalPromiseDemo')
2930    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
2931    let fetchOptions: photoAccessHelper.FetchOptions = {
2932      fetchColumns: [],
2933      predicates: predicates
2934    };
2935    let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOptions);
2936    let photoAsset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject();
2937    photoAsset.revertToOriginal();
2938    console.info('revertToOriginal is successful');
2939  } catch (err) {
2940    console.error(`revertToOriginalPromiseDemo failed with error: ${err.code}, ${err.message}`);
2941  }
2942}
2943```
2944
2945### requestPhoto<sup>11+</sup>
2946
2947requestPhoto(callback: AsyncCallback&lt;image.PixelMap&gt;): string
2948
2949通过callback的形式,获取资源的快速缩略图和普通缩略图。
2950
2951快速缩略图尺寸为128\*128,普通缩略图尺寸为256\*256。应用调用接口后,callback将返回两次缩略图对象,第一次为快速缩略图,第二次为普通缩略图。
2952
2953**系统接口**:此接口为系统接口。
2954
2955**需要权限**:ohos.permission.READ_IMAGEVIDEO
2956
2957**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
2958
2959**参数:**
2960
2961| 参数名        | 类型      | 必填   | 说明                                 |
2962| ---------- | ------- | ---- | ---------------------------------- |
2963| callback | AsyncCallback&lt;[image.PixelMap](../apis-image-kit/js-apis-image.md#pixelmap7)&gt; | 是    | Callback对象,返回获取的缩略图,调用2次。 |
2964
2965**返回值:**
2966
2967| 类型                                    | 说明              |
2968| --------------------------------------- | ----------------- |
2969| string | 本次获取任务的id。 |
2970
2971**错误码:**
2972
2973接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
2974
2975| 错误码ID | 错误信息 |
2976| -------- | ---------------------------------------- |
2977| 201   | Permission verification failed, usually the result returned by VerifyAccessToken.        |
2978| 202   | Permission verification failed, application which is not a system application uses system API.         |
2979| 401    | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. |
2980| 14000011   | System inner fail.        |
2981
2982**示例:**
2983
2984```ts
2985import { dataSharePredicates } from '@kit.ArkData';
2986import { image } from '@kit.ImageKit';
2987
2988async function example() {
2989  try {
2990    console.info('requestPhotoDemo')
2991    let options: photoAccessHelper.FetchOptions = {
2992      fetchColumns: [],
2993      predicates: new dataSharePredicates.DataSharePredicates()
2994    }
2995    let fetchResult = await phAccessHelper.getAssets(options);
2996    let photoAsset = await fetchResult.getFirstObject();
2997    let taskId: string = photoAsset.requestPhoto(async (err, pixel: image.PixelMap) => {
2998      if (err === undefined) {
2999        console.info("requestSource in, size: " + JSON.stringify((await pixel.getImageInfo()).size))
3000      } else {
3001        console.error(`requestSource failed with error: ${err.code}, ${err.message}`);
3002      }
3003    })
3004    console.info('requestSource taskId: ' + taskId)
3005  } catch (err) {
3006    console.error(`requestPhotoDemo failed with error: ${err.code}, ${err.message}`);
3007  }
3008}
3009```
3010
3011### requestPhoto<sup>11+</sup>
3012
3013requestPhoto(options: RequestPhotoOptions, callback: AsyncCallback&lt;image.PixelMap&gt;): string
3014
3015通过callback的形式,根据传入的选项,获取资源的缩略图。
3016
3017**系统接口**:此接口为系统接口。
3018
3019**需要权限**:ohos.permission.READ_IMAGEVIDEO
3020
3021**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
3022
3023**参数:**
3024
3025| 参数名        | 类型      | 必填   | 说明                                 |
3026| ---------- | ------- | ---- | ---------------------------------- |
3027| options | [RequestPhotoOptions](#requestphotooptions11) | 是    | 获取资源缩略图的选项。 |
3028| callback | AsyncCallback&lt;[image.PixelMap](../apis-image-kit/js-apis-image.md#pixelmap7)&gt; | 是    | Callback对象,返回获取的缩略图,根据选项的设置可能调用超过1次。 |
3029
3030**返回值:**
3031
3032| 类型                                    | 说明              |
3033| --------------------------------------- | ----------------- |
3034| string | 本次获取任务的id。 |
3035
3036**错误码:**
3037
3038接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
3039
3040| 错误码ID | 错误信息 |
3041| -------- | ---------------------------------------- |
3042| 201   | Permission verification failed, usually the result returned by VerifyAccessToken.        |
3043| 202   | Permission verification failed, application which is not a system application uses system API.         |
3044| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
3045| 14000011   | System inner fail.        |
3046
3047**示例:**
3048
3049```ts
3050import { dataSharePredicates } from '@kit.ArkData';
3051import { image } from '@kit.ImageKit';
3052
3053async function example() {
3054  try {
3055    console.info('requestPhotoDemo')
3056    let options: photoAccessHelper.FetchOptions = {
3057      fetchColumns: [],
3058      predicates: new dataSharePredicates.DataSharePredicates()
3059    }
3060    let fetchResult = await phAccessHelper.getAssets(options);
3061    let photoAsset = await fetchResult.getFirstObject();
3062    let taskId: string = photoAsset.requestPhoto({
3063      "size": {
3064        "width": 256,
3065        "height": 256
3066      },
3067      "requestPhotoType": photoAccessHelper.RequestPhotoType.REQUEST_ALL_THUMBNAILS
3068    }, async (err, pixel: image.PixelMap) => {
3069      if (err === undefined) {
3070        console.info("requestSource in, size: " + JSON.stringify((await pixel.getImageInfo()).size))
3071      } else {
3072        console.error(`requestSource failed with error: ${err.code}, ${err.message}`);
3073      }
3074    })
3075    console.info('requestSource taskId: ' + taskId)
3076  } catch (err) {
3077    console.error(`requestPhotoDemo failed with error: ${err.code}, ${err.message}`);
3078  }
3079}
3080```
3081
3082### cancelPhotoRequest<sup>11+</sup>
3083
3084cancelPhotoRequest(requestId: string): void
3085
3086根据id取消指定的获取媒体缩略图的任务。
3087
3088**系统接口**:此接口为系统接口。
3089
3090**需要权限**:ohos.permission.READ_IMAGEVIDEO
3091
3092**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
3093
3094**参数:**
3095
3096| 参数名        | 类型      | 必填   | 说明                                 |
3097| ---------- | ------- | ---- | ---------------------------------- |
3098| requestId | string | 是    | 待取消的获取媒体缩略图的任务id。 |
3099
3100**错误码:**
3101
3102接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
3103
3104| 错误码ID | 错误信息 |
3105| -------- | ---------------------------------------- |
3106| 201   | Permission verification failed, usually the result returned by VerifyAccessToken.        |
3107| 202   | Permission verification failed, application which is not a system application uses system API.         |
3108| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
3109| 14000011   | System inner fail.        |
3110
3111**示例:**
3112
3113```ts
3114import { dataSharePredicates } from '@kit.ArkData';
3115import { image } from '@kit.ImageKit';
3116
3117async function example() {
3118  try {
3119    console.info('cancelPhotoRequestDemo')
3120    let options: photoAccessHelper.FetchOptions = {
3121      fetchColumns: [],
3122      predicates: new dataSharePredicates.DataSharePredicates()
3123    }
3124    let fetchResult = await phAccessHelper.getAssets(options);
3125    let photoAsset = await fetchResult.getFirstObject();
3126    let taskId: string = photoAsset.requestPhoto({
3127      "size": {
3128        "width": 256,
3129        "height": 256
3130      },
3131      "requestPhotoType": photoAccessHelper.RequestPhotoType.REQUEST_ALL_THUMBNAILS
3132    }, async (err, pixel: image.PixelMap) => {
3133      if (err === undefined) {
3134        console.info("requestSource in, size: " + JSON.stringify((await pixel.getImageInfo()).size))
3135      } else {
3136        console.error(`requestSource failed with error: ${err.code}, ${err.message}`);
3137      }
3138    })
3139    console.info('requestSource taskId: ' + taskId)
3140    photoAsset.cancelPhotoRequest(taskId);
3141  } catch (err) {
3142    console.error(`cancelPhotoRequestDemo failed with error: ${err.code}, ${err.message}`);
3143  }
3144}
3145```
3146
3147### getAnalysisData<sup>11+</sup>
3148
3149getAnalysisData(analysisType: AnalysisType): Promise\<string>
3150
3151根据智慧分析类型获取指定分析结果数据。
3152
3153**系统接口**:此接口为系统接口。
3154
3155**需要权限**:ohos.permission.READ\_IMAGEVIDEO
3156
3157**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
3158
3159**参数:**
3160
3161| 参数名          | 类型           | 必填 | 说明           |
3162| :----------- | :----------- | :- | :----------- |
3163| analysisType | [AnalysisType](#analysistype11) | 是  | 需要获取的智慧分析类型。 |
3164
3165**错误码:**
3166
3167接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
3168
3169| 错误码ID    | 错误信息                              |
3170| :------- | :-------------------------------- |
3171| 201      | Permission denied.                |
3172| 202      | Called by non-system application. |
3173| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
3174| 14000011 | System inner fail.                |
3175
3176**示例:**
3177
3178```ts
3179import { dataSharePredicates } from '@kit.ArkData';
3180
3181async function example() {
3182  try {
3183    console.info('getAnalysisDataDemo')
3184    let fetchOptions: photoAccessHelper.FetchOptions = {
3185      fetchColumns: [],
3186      predicates: new dataSharePredicates.DataSharePredicates()
3187    }
3188    let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> =
3189      await phAccessHelper.getAssets(fetchOptions);
3190    let photoAsset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject();
3191    if (photoAsset != undefined) {
3192      let analysisData: string = await photoAsset.getAnalysisData(
3193        photoAccessHelper.AnalysisType.ANALYSIS_OCR);
3194      console.info('get ocr result: ' + JSON.stringify(analysisData));
3195    }
3196    fetchResult.close();
3197  } catch (err) {
3198    console.error(`getAnalysisDataDemofailed with error: ${err.code}, ${err.message}`);
3199  }
3200}
3201```
3202
3203## Album
3204
3205实体相册
3206
3207### recoverAssets<sup>(deprecated)</sup>
3208
3209recoverAssets(assets: Array&lt;PhotoAsset&gt;, callback: AsyncCallback&lt;void&gt;): void
3210
3211从回收站中恢复图片或者视频,需要先在回收站中预置文件资源。该方法使用callback形式来返回结果。
3212
3213> **说明:** 
3214>
3215> 从API version 10开始支持,从API version 11开始废弃。建议使用[MediaAlbumChangeRequest.recoverAssets](#recoverassets11)替代。
3216
3217**系统接口**:此接口为系统接口。
3218
3219**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
3220
3221**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
3222
3223**参数:**
3224
3225| 参数名   | 类型                      | 必填 | 说明       |
3226| -------- | ------------------------- | ---- | ---------- |
3227| assets | Array&lt;[PhotoAsset](#photoasset)&gt; | 是   | 回收站中待恢复图片或者视频数组。 |
3228| callback | AsyncCallback&lt;void&gt; | 是   | callback返回void。 |
3229
3230**错误码:**
3231
3232接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
3233
3234| 错误码ID | 错误信息 |
3235| -------- | ---------------------------------------- |
3236| 202      |  Called by non-system application.         |
3237| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
3238| 13900012     | Permission denied.         |
3239| 13900020     | Invalid argument.         |
3240| 14000011       | System inner fail.         |
3241
3242**示例:**
3243
3244```ts
3245import { dataSharePredicates } from '@kit.ArkData';
3246
3247async function example() {
3248  try {
3249    console.info('recoverAssetsDemoCallback');
3250    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
3251    let fetchOption: photoAccessHelper.FetchOptions = {
3252      fetchColumns: [],
3253      predicates: predicates
3254    };
3255    let albumFetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.SYSTEM, photoAccessHelper.AlbumSubtype.TRASH);
3256    let album: photoAccessHelper.Album = await albumFetchResult.getFirstObject();
3257    let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await album.getAssets(fetchOption);
3258    let asset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject();
3259    album.recoverAssets([asset], (err) => {
3260      if (err === undefined) {
3261        console.info('album recoverAssets successfully');
3262      } else {
3263        console.error(`album recoverAssets failed with error: ${err.code}, ${err.message}`);
3264      }
3265    });
3266  } catch (err) {
3267    console.error(`recoverAssetsDemoCallback failed with error: ${err.code}, ${err.message}`);
3268  }
3269}
3270```
3271
3272### recoverAssets<sup>(deprecated)</sup>
3273
3274recoverAssets(assets: Array&lt;PhotoAsset&gt;): Promise&lt;void&gt;
3275
3276从回收站中恢复图片或者视频,需要先在回收站中预置文件资源。该方法使用Promise来返回结果。
3277
3278> **说明:** 
3279>
3280> 从API version 10开始支持,从API version 11开始废弃。建议使用[MediaAlbumChangeRequest.recoverAssets](#recoverassets11)替代。
3281
3282**系统接口**:此接口为系统接口。
3283
3284**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
3285
3286**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
3287
3288**参数:**
3289
3290| 参数名   | 类型                      | 必填 | 说明       |
3291| -------- | ------------------------- | ---- | ---------- |
3292| assets | Array&lt;[PhotoAsset](#photoasset)&gt; | 是   | 回收站中待恢复图片或者视频数组。 |
3293
3294**返回值:**
3295
3296| 类型                                    | 说明              |
3297| --------------------------------------- | ----------------- |
3298|Promise&lt;void&gt; | Promise对象,返回void。 |
3299
3300**错误码:**
3301
3302接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
3303
3304| 错误码ID | 错误信息 |
3305| -------- | ---------------------------------------- |
3306| 202      |  Called by non-system application.         |
3307| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
3308| 13900012     | Permission denied.         |
3309| 13900020     | Invalid argument.         |
3310| 14000011       | System inner fail.         |
3311
3312**示例:**
3313
3314```ts
3315import { dataSharePredicates } from '@kit.ArkData';
3316import { BusinessError } from '@kit.BasicServicesKit';
3317
3318async function example() {
3319  try {
3320    console.info('recoverAssetsDemoPromise');
3321    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
3322    let fetchOption: photoAccessHelper.FetchOptions = {
3323      fetchColumns: [],
3324      predicates: predicates
3325    };
3326    let albumFetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.SYSTEM, photoAccessHelper.AlbumSubtype.TRASH);
3327    let album: photoAccessHelper.Album = await albumFetchResult.getFirstObject();
3328    let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await album.getAssets(fetchOption);
3329    let asset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject();
3330    album.recoverAssets([asset]).then(() => {
3331      console.info('album recoverAssets successfully');
3332    }).catch((err: BusinessError) => {
3333      console.error(`album recoverAssets failed with error: ${err.code}, ${err.message}`);
3334    });
3335  } catch (err) {
3336    console.error(`recoverAssetsDemoPromise failed with error: ${err.code}, ${err.message}`);
3337  }
3338}
3339```
3340
3341### deleteAssets<sup>(deprecated)</sup>
3342
3343deleteAssets(assets: Array&lt;PhotoAsset&gt;, callback: AsyncCallback&lt;void&gt;): void
3344
3345从回收站中彻底删除图片或者视频,需要先在回收站中预置文件资源。该方法使用callback形式来返回结果。
3346
3347> **说明:** 
3348>
3349> 从API version 10开始支持,从API version 11开始废弃。建议使用[MediaAlbumChangeRequest.deleteAssets](#deleteassets11)替代。
3350
3351**注意**:此操作不可逆,执行此操作后文件资源将彻底删除,请谨慎操作。
3352
3353**系统接口**:此接口为系统接口。
3354
3355**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
3356
3357**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
3358
3359**参数:**
3360
3361| 参数名   | 类型                      | 必填 | 说明       |
3362| -------- | ------------------------- | ---- | ---------- |
3363| assets | Array&lt;[PhotoAsset](#photoasset)&gt; | 是   | 回收站中待彻底删除图片或者视频数组。 |
3364| callback | AsyncCallback&lt;void&gt; | 是   | callback返回void。 |
3365
3366**错误码:**
3367
3368接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
3369
3370| 错误码ID | 错误信息 |
3371| -------- | ---------------------------------------- |
3372| 202      |  Called by non-system application.         |
3373| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
3374| 13900012     | Permission denied.         |
3375| 13900020     | Invalid argument.         |
3376| 14000011       | System inner fail.         |
3377
3378**示例:**
3379
3380```ts
3381import { dataSharePredicates } from '@kit.ArkData';
3382
3383async function example() {
3384  try {
3385    console.info('deleteAssetsDemoCallback');
3386    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
3387    let fetchOption: photoAccessHelper.FetchOptions = {
3388      fetchColumns: [],
3389      predicates: predicates
3390    };
3391    let albumFetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.SYSTEM, photoAccessHelper.AlbumSubtype.TRASH);
3392    let album: photoAccessHelper.Album = await albumFetchResult.getFirstObject();
3393    let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await album.getAssets(fetchOption);
3394    let asset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject();
3395    album.deleteAssets([asset], (err) => {
3396      if (err === undefined) {
3397        console.info('album deleteAssets successfully');
3398      } else {
3399        console.error(`album deleteAssets failed with error: ${err.code}, ${err.message}`);
3400      }
3401    });
3402  } catch (err) {
3403    console.error(`deleteAssetsDemoCallback failed with error: ${err.code}, ${err.message}`);
3404  }
3405}
3406```
3407
3408### deleteAssets<sup>(deprecated)</sup>
3409
3410deleteAssets(assets: Array&lt;PhotoAsset&gt;): Promise&lt;void&gt;
3411
3412从回收站中彻底删除图片或者视频,需要先在回收站中预置文件资源。该方法使用Promise来返回结果。
3413
3414> **说明:** 
3415>
3416> 从API version 10开始支持,从API version 11开始废弃。建议使用[MediaAlbumChangeRequest.deleteAssets](#deleteassets11)替代。
3417
3418**注意**:此操作不可逆,执行此操作后文件资源将彻底删除,请谨慎操作。
3419
3420**系统接口**:此接口为系统接口。
3421
3422**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
3423
3424**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
3425
3426**参数:**
3427
3428| 参数名   | 类型                      | 必填 | 说明       |
3429| -------- | ------------------------- | ---- | ---------- |
3430| assets | Array&lt;[PhotoAsset](#photoasset)&gt; | 是   | 回收站中待彻底删除图片或者视频数组。 |
3431
3432**返回值:**
3433
3434| 类型                                    | 说明              |
3435| --------------------------------------- | ----------------- |
3436|Promise&lt;void&gt; | Promise对象,返回void。 |
3437
3438**错误码:**
3439
3440接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
3441
3442| 错误码ID | 错误信息 |
3443| -------- | ---------------------------------------- |
3444| 202      |  Called by non-system application.         |
3445| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
3446| 13900012     | Permission denied.         |
3447| 13900020     | Invalid argument.         |
3448| 14000011       | System inner fail.         |
3449
3450**示例:**
3451
3452```ts
3453import { dataSharePredicates } from '@kit.ArkData';
3454import { BusinessError } from '@kit.BasicServicesKit';
3455
3456async function example() {
3457  try {
3458    console.info('deleteAssetsDemoPromise');
3459    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
3460    let fetchOption: photoAccessHelper.FetchOptions = {
3461      fetchColumns: [],
3462      predicates: predicates
3463    };
3464    let albumFetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.SYSTEM, photoAccessHelper.AlbumSubtype.TRASH);
3465    let album: photoAccessHelper.Album = await albumFetchResult.getFirstObject();
3466    let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await album.getAssets(fetchOption);
3467    let asset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject();
3468    album.deleteAssets([asset]).then(() => {
3469      console.info('album deleteAssets successfully');
3470    }).catch((err: BusinessError) => {
3471      console.error(`album deleteAssets failed with error: ${err.code}, ${err.message}`);
3472    });
3473  } catch (err) {
3474    console.error(`deleteAssetsDemoPromise failed with error: ${err.code}, ${err.message}`);
3475  }
3476}
3477```
3478
3479### setCoverUri<sup>(deprecated)</sup>
3480
3481setCoverUri(uri: string, callback: AsyncCallback&lt;void&gt;): void
3482
3483设置相册封面,该方法使用callback形式来返回结果。
3484
3485> **说明:** 
3486>
3487> 从API version 10开始支持,从API version 11开始废弃。建议使用[MediaAlbumChangeRequest.setCoverUri](#setcoveruri11)替代。
3488
3489**注意**:此接口只可修改用户相册封面,不允许修改系统相册封面。
3490
3491**系统接口**:此接口为系统接口。
3492
3493**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
3494
3495**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
3496
3497**参数:**
3498
3499| 参数名   | 类型                      | 必填 | 说明       |
3500| -------- | ------------------------- | ---- | ---------- |
3501| uri | string | 是   | 待设置为相册封面文件的uri。 |
3502| callback | AsyncCallback&lt;void&gt; | 是   | callback返回void。 |
3503
3504**错误码:**
3505
3506接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
3507
3508| 错误码ID | 错误信息 |
3509| -------- | ---------------------------------------- |
3510| 202      |  Called by non-system application.         |
3511| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
3512| 13900012     | Permission denied.         |
3513| 13900020     | Invalid argument.         |
3514| 14000011       | System inner fail.         |
3515
3516**示例:**
3517
3518```ts
3519import { dataSharePredicates } from '@kit.ArkData';
3520
3521async function example() {
3522  try {
3523    console.info('setCoverUriDemoCallback');
3524    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
3525    let fetchOption: photoAccessHelper.FetchOptions = {
3526      fetchColumns: [],
3527      predicates: predicates
3528    };
3529    let albumFetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.USER, photoAccessHelper.AlbumSubtype.USER_GENERIC);
3530    let album: photoAccessHelper.Album = await albumFetchResult.getFirstObject();
3531    let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await album.getAssets(fetchOption);
3532    let asset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject();
3533    album.setCoverUri(asset.uri, (err) => {
3534      if (err === undefined) {
3535        console.info('album setCoverUri successfully');
3536      } else {
3537        console.error(`album setCoverUri failed with error: ${err.code}, ${err.message}`);
3538      }
3539    });
3540  } catch (err) {
3541    console.error(`setCoverUriDemoCallback failed with error: ${err.code}, ${err.message}`);
3542  }
3543}
3544```
3545
3546### setCoverUri<sup>(deprecated)</sup>
3547
3548setCoverUri(uri: string): Promise&lt;void&gt;
3549
3550设置相册封面,该方法使用Promise来返回结果。
3551
3552> **说明:** 
3553>
3554> 从API version 10开始支持,从API version 11开始废弃。建议使用[MediaAlbumChangeRequest.setCoverUri](#setcoveruri11)替代。
3555
3556**注意**:此接口只可修改用户相册封面,不允许修改系统相册封面。
3557
3558**系统接口**:此接口为系统接口。
3559
3560**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
3561
3562**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
3563
3564**参数:**
3565
3566| 参数名   | 类型                      | 必填 | 说明       |
3567| -------- | ------------------------- | ---- | ---------- |
3568| uri | string | 是   | 待设置为相册封面文件的uri。 |
3569
3570**返回值:**
3571
3572| 类型                                    | 说明              |
3573| --------------------------------------- | ----------------- |
3574|Promise&lt;void&gt; | Promise对象,返回void。 |
3575
3576**错误码:**
3577
3578接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
3579
3580| 错误码ID | 错误信息 |
3581| -------- | ---------------------------------------- |
3582| 202      |  Called by non-system application.         |
3583| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
3584| 13900012     | Permission denied.         |
3585| 13900020     | Invalid argument.         |
3586| 14000011       | System inner fail.         |
3587**示例:**
3588
3589```ts
3590import { dataSharePredicates } from '@kit.ArkData';
3591import { BusinessError } from '@kit.BasicServicesKit';
3592
3593async function example() {
3594  try {
3595    console.info('setCoverUriDemoPromise');
3596    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
3597    let fetchOption: photoAccessHelper.FetchOptions = {
3598      fetchColumns: [],
3599      predicates: predicates
3600    };
3601    let albumFetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.USER, photoAccessHelper.AlbumSubtype.USER_GENERIC);
3602    let album: photoAccessHelper.Album = await albumFetchResult.getFirstObject();
3603    let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await album.getAssets(fetchOption);
3604    let asset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject();
3605    album.setCoverUri(asset.uri).then(() => {
3606      console.info('album setCoverUri successfully');
3607    }).catch((err: BusinessError) => { 
3608      console.error(`album setCoverUri failed with error: ${err.code}, ${err.message}`);
3609    });
3610  } catch (err) {
3611    console.error(`setCoverUriDemoPromise failed with error: ${err.code}, ${err.message}`);
3612  }
3613}
3614```
3615
3616## MediaAssetEditData<sup>11+</sup>
3617
3618资产编辑数据。
3619
3620**系统接口**:此接口为系统接口。
3621
3622**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
3623
3624### 属性
3625
3626| 名称           | 类型    | 可读   | 可写  | 说明   |
3627| ------------ | ------ | ---- | ---- | ------- |
3628| compatibleFormat | string | 是    | 是    | 编辑数据的格式。**系统接口**:此接口为系统接口。    |
3629| formatVersion | string | 是    | 是   | 编辑数据格式的版本。**系统接口**:此接口为系统接口。    |
3630| data | string | 是    | 是   | 编辑数据的内容。**系统接口**:此接口为系统接口。    |
3631
3632### constructor<sup>11+</sup>
3633
3634constructor(compatibleFormat: string, formatVersion: string)
3635
3636构造函数。
3637
3638**系统接口**:此接口为系统接口。
3639
3640**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
3641
3642**参数:**
3643
3644| 参数名   | 类型                      | 必填 | 说明       |
3645| -------- | ------------------------- | ---- | ---------- |
3646| compatibleFormat | string | 是   | 编辑数据的格式。 |
3647| formatVersion | string | 是   | 编辑数据格式的版本。 |
3648
3649**错误码:**
3650
3651接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
3652
3653| 错误码ID | 错误信息 |
3654| -------- | ---------------------------------------- |
3655| 202      |  Called by non-system application.         |
3656| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
3657| 14000011       | System inner fail.          |
3658
3659**示例:**
3660
3661```ts
3662let assetEditData: photoAccessHelper.MediaAssetEditData = new photoAccessHelper.MediaAssetEditData('system', '1.0');
3663```
3664
3665## MediaAssetChangeRequest<sup>11+</sup>
3666
3667资产变更请求。
3668
3669**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
3670
3671### createAssetRequest<sup>11+</sup>
3672
3673static createAssetRequest(context: Context, displayName: string, options?: PhotoCreateOptions): MediaAssetChangeRequest
3674
3675指定待创建的图片或者视频的文件名,创建资产变更请求。
3676
3677待创建的文件名参数规格为:
3678- 应包含有效文件主名和图片或视频扩展名。
3679- 文件名字符串长度为1~255。
3680- 文件主名中不允许出现非法字符,包括:<br> . .. \ / : * ? " ' ` < > | { } [ ]
3681
3682**系统接口**:此接口为系统接口。
3683
3684**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
3685
3686**参数:**
3687
3688| 参数名  | 类型    | 必填 | 说明                       |
3689| ------- | ------- | ---- | -------------------------- |
3690| context | [Context](../apis-ability-kit/js-apis-inner-application-context.md) | 是   | 传入Ability实例的Context。 |
3691| displayName  | string        | 是   | 待创建的图片或者视频文件名。              |
3692| options  | [PhotoCreateOptions](#photocreateoptions)        | 否   | 图片或视频的创建选项。              |
3693
3694**返回值:**
3695
3696| 类型                                    | 说明              |
3697| --------------------------------------- | ----------------- |
3698| [MediaAssetChangeRequest](#mediaassetchangerequest11) | 返回创建资产的变更请求。 |
3699
3700**错误码:**
3701
3702接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
3703
3704| 错误码ID | 错误信息 |
3705| -------- | ---------------------------------------- |
3706| 202   |  Called by non-system application.         |
3707| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
3708| 14000001      | Invalid display name.         |
3709| 14000011       | System inner fail.         |
3710
3711**示例:**
3712
3713```ts
3714async function example() {
3715  console.info('createAssetRequestDemo');
3716  try {
3717    let testFileName: string = 'testFile' + Date.now() + '.jpg';
3718    let assetChangeRequest: photoAccessHelper.MediaAssetChangeRequest = photoAccessHelper.MediaAssetChangeRequest.createAssetRequest(context, testFileName);
3719    // 需要确保fileUri对应的资源存在
3720    let fileUri = 'file://com.example.temptest/data/storage/el2/base/haps/entry/files/test.jpg';
3721    assetChangeRequest.addResource(photoAccessHelper.ResourceType.IMAGE_RESOURCE, fileUri);
3722    await phAccessHelper.applyChanges(assetChangeRequest);
3723    console.info('apply createAssetRequest successfully');
3724  } catch (err) {
3725    console.error(`createAssetRequestDemo failed with error: ${err.code}, ${err.message}`);
3726  }
3727}
3728```
3729
3730### setFavorite<sup>11+</sup>
3731
3732setFavorite(favoriteState: boolean): void
3733
3734将文件设置为收藏文件。
3735
3736**系统接口**:此接口为系统接口。
3737
3738**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
3739
3740**参数:**
3741
3742| 参数名        | 类型      | 必填   | 说明                                 |
3743| ---------- | ------- | ---- | ---------------------------------- |
3744| favoriteState | boolean | 是    | 是否设置为收藏文件, true:设置为收藏文件;false:取消收藏。 |
3745
3746**错误码:**
3747
3748接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
3749
3750| 错误码ID | 错误信息 |
3751| -------- | ---------------------------------------- |
3752| 202        |  Called by non-system application.         |
3753| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
3754| 14000011       | System inner fail.         |
3755
3756**示例:**
3757
3758```ts
3759import { dataSharePredicates } from '@kit.ArkData';
3760import { BusinessError } from '@kit.BasicServicesKit';
3761
3762async function example() {
3763  console.info('setFavoriteDemo');
3764  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
3765  let fetchOption: photoAccessHelper.FetchOptions = {
3766    fetchColumns: [],
3767    predicates: predicates
3768  };
3769  let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOption);
3770  let asset = await fetchResult.getFirstObject();
3771  let assetChangeRequest: photoAccessHelper.MediaAssetChangeRequest = new photoAccessHelper.MediaAssetChangeRequest(asset);
3772  assetChangeRequest.setFavorite(true);
3773  phAccessHelper.applyChanges(assetChangeRequest).then(() => {
3774    console.info('apply setFavorite successfully');
3775  }).catch((err: BusinessError) => {
3776    console.error(`apply setFavorite failed with error: ${err.code}, ${err.message}`);
3777  });
3778}
3779```
3780
3781### setHidden<sup>11+</sup>
3782
3783setHidden(hiddenState: boolean): void
3784
3785将文件设置为隐藏文件。
3786
3787**系统接口**:此接口为系统接口。
3788
3789**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
3790
3791**参数:**
3792
3793| 参数名        | 类型      | 必填   | 说明                                 |
3794| ---------- | ------- | ---- | ---------------------------------- |
3795| hiddenState | boolean  | 是    | 是否设置为隐藏文件,true:将文件资产放入隐藏相册;false:从隐藏相册中恢复。 |
3796
3797**错误码:**
3798
3799接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
3800
3801| 错误码ID | 错误信息 |
3802| -------- | ---------------------------------------- |
3803| 202        |  Called by non-system application.         |
3804| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
3805| 14000011       | System inner fail.         |
3806
3807**示例:**
3808
3809```ts
3810import { dataSharePredicates } from '@kit.ArkData';
3811import { BusinessError } from '@kit.BasicServicesKit';
3812
3813async function example() {
3814  console.info('setHiddenDemo');
3815  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
3816  let fetchOption: photoAccessHelper.FetchOptions = {
3817    fetchColumns: [],
3818    predicates: predicates
3819  };
3820  let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOption);
3821  let asset = await fetchResult.getFirstObject();
3822  let assetChangeRequest: photoAccessHelper.MediaAssetChangeRequest = new photoAccessHelper.MediaAssetChangeRequest(asset);
3823  assetChangeRequest.setHidden(true);
3824  phAccessHelper.applyChanges(assetChangeRequest).then(() => {
3825    console.info('apply setHidden successfully');
3826  }).catch((err: BusinessError) => {
3827    console.error(`apply setHidden failed with error: ${err.code}, ${err.message}`);
3828  });
3829}
3830```
3831
3832### setUserComment<sup>11+</sup>
3833
3834setUserComment(userComment: string): void
3835
3836修改媒体资产的备注信息。
3837
3838**系统接口**:此接口为系统接口。
3839
3840**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
3841
3842**参数:**
3843
3844| 参数名        | 类型      | 必填   | 说明                                 |
3845| ---------- | ------- | ---- | ---------------------------------- |
3846| userComment | string | 是   | 待修改的资产备注信息,备注信息最长为420字符。 |
3847
3848**错误码:**
3849
3850接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
3851
3852| 错误码ID | 错误信息 |
3853| -------- | ---------------------------------------- |
3854| 202        |  Called by non-system application.         |
3855| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
3856| 14000011       | System inner fail.         |
3857
3858**示例:**
3859
3860```ts
3861import { dataSharePredicates } from '@kit.ArkData';
3862import { BusinessError } from '@kit.BasicServicesKit';
3863
3864async function example() {
3865  console.info('setUserCommentDemo');
3866  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
3867  let fetchOption: photoAccessHelper.FetchOptions = {
3868    fetchColumns: [],
3869    predicates: predicates
3870  };
3871  let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOption);
3872  let asset = await fetchResult.getFirstObject();
3873  let assetChangeRequest: photoAccessHelper.MediaAssetChangeRequest = new photoAccessHelper.MediaAssetChangeRequest(asset);
3874  let userComment: string = 'test_set_user_comment';
3875  assetChangeRequest.setUserComment(userComment);
3876  phAccessHelper.applyChanges(assetChangeRequest).then(() => {
3877    console.info('apply setUserComment successfully');
3878  }).catch((err: BusinessError) => {
3879    console.error(`apply setUserComment failed with error: ${err.code}, ${err.message}`);
3880  });
3881}
3882```
3883
3884### setEditData<sup>11+</sup>
3885
3886setEditData(editData: MediaAssetEditData): void
3887
3888保存资产的编辑数据。
3889
3890**系统接口**:此接口为系统接口。
3891
3892**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
3893
3894**参数:**
3895
3896| 参数名        | 类型      | 必填   | 说明                                 |
3897| ---------- | ------- | ---- | ---------------------------------- |
3898| editData | [MediaAssetEditData](#mediaasseteditdata11) | 是   | 待保存的资产编辑数据。 |
3899
3900**错误码:**
3901
3902接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
3903
3904| 错误码ID | 错误信息 |
3905| -------- | ---------------------------------------- |
3906| 202        |  Called by non-system application.         |
3907| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
3908| 14000011       | System inner fail.         |
3909
3910**示例:**
3911
3912```ts
3913import { dataSharePredicates } from '@kit.ArkData';
3914import { BusinessError } from '@kit.BasicServicesKit';
3915
3916async function example() {
3917  console.info('setEditDataDemo');
3918  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
3919  let fetchOption: photoAccessHelper.FetchOptions = {
3920    fetchColumns: [],
3921    predicates: predicates
3922  };
3923  let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOption);
3924  let asset = await fetchResult.getFirstObject();
3925  let assetChangeRequest: photoAccessHelper.MediaAssetChangeRequest = new photoAccessHelper.MediaAssetChangeRequest(asset);
3926
3927  let assetEditData: photoAccessHelper.MediaAssetEditData = new photoAccessHelper.MediaAssetEditData('system', '1.0');
3928  let fileUri = 'file://com.example.temptest/data/storage/el2/base/haps/entry/files/test.jpg';
3929  assetChangeRequest.addResource(photoAccessHelper.ResourceType.IMAGE_RESOURCE, fileUri);
3930  assetEditData.data = '123456';
3931  assetChangeRequest.setEditData(assetEditData);
3932  phAccessHelper.applyChanges(assetChangeRequest).then(() => {
3933    console.info('apply setEditData successfully');
3934  }).catch((err: BusinessError) => {
3935    console.error(`apply setEditData failed with error: ${err.code}, ${err.message}`);
3936  });
3937}
3938```
3939
3940### addResource<sup>11+</sup>
3941
3942addResource(type: ResourceType, proxy: PhotoProxy): void
3943
3944通过PhotoProxy数据添加资源。
3945
3946**注意**:对于同一个资产变更请求,不支持在成功添加资源后,重复调用该接口。
3947
3948**系统接口**:此接口为系统接口,仅提供给相机应用使用。
3949
3950**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
3951
3952**参数:**
3953
3954| 参数名  | 类型                              | 必填 | 说明                   |
3955| ------- |---------------------------------| ---- |----------------------|
3956| type | [ResourceType](#resourcetype11) | 是   | 待添加资源的类型。            |
3957| proxy | [PhotoProxy](#photoproxy11)     | 是   | 待添加资源的PhotoProxy 数据。 |
3958
3959**错误码:**
3960
3961接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
3962
3963| 错误码ID    | 错误信息                              |
3964|----------|-----------------------------------|
3965| 202      | Called by non-system application. |
3966| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
3967| 14000011 | System inner fail.                | 
3968| 14000016 | Operation Not Support.            |
3969
3970**示例:**
3971
3972```ts
3973class PhotoProxyImpl implements photoAccessHelper.PhotoProxy {
3974  // 应用实现PhotoProxy
3975}
3976
3977async function example() {
3978  console.info('addResourceByPhotoProxyDemo');
3979  try {
3980    let photoType: photoAccessHelper.PhotoType = photoAccessHelper.PhotoType.IMAGE;
3981    let extension: string = 'jpg';
3982    let assetChangeRequest: photoAccessHelper.MediaAssetChangeRequest = photoAccessHelper.MediaAssetChangeRequest.createAssetRequest(context, photoType, extension);
3983    let photoProxy: PhotoProxyImpl = new PhotoProxyImpl();
3984    assetChangeRequest.addResource(photoAccessHelper.ResourceType.IMAGE_RESOURCE, photoProxy);
3985    await phAccessHelper.applyChanges(assetChangeRequest);
3986    console.info('addResourceByPhotoProxy successfully');
3987  } catch (err) {
3988    console.error(`addResourceByPhotoProxyDemo failed with error: ${err.code}, ${err.message}`);
3989  }
3990}
3991```
3992
3993### setLocation<sup>11+</sup>
3994
3995setLocation(longitude: number, latitude: number): void
3996
3997设置文件的经纬度信息。
3998
3999**系统接口**:此接口为系统接口
4000
4001**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
4002
4003**参数:**
4004
4005| 参数名  | 类型          | 必填 | 说明    |
4006| ------- |-------------| ---- |-------|
4007| longitude | number      | 是   | 经度。 |
4008| latitude | number | 是   | 纬度。   |
4009
4010**错误码:**
4011
4012接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
4013
4014| 错误码ID | 错误信息 |
4015| -------- | ---------------------------------------- |
4016| 202      | Called by non-system application. |
4017| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
4018| 14000011 |  System inner fail.         |
4019
4020**示例:**
4021
4022```ts
4023import { dataSharePredicates } from '@kit.ArkData';
4024import { BusinessError } from '@kit.BasicServicesKit';
4025
4026async function example() {
4027  console.info('setLocationDemo');
4028  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
4029  let fetchOption: photoAccessHelper.FetchOptions = {
4030    fetchColumns: [],
4031    predicates: predicates
4032  };
4033  let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOption);
4034  let asset = await fetchResult.getFirstObject();
4035  let assetChangeRequest: photoAccessHelper.MediaAssetChangeRequest = new photoAccessHelper.MediaAssetChangeRequest(asset);
4036  assetChangeRequest.setLocation(120.52, 30.40);
4037  phAccessHelper.applyChanges(assetChangeRequest).then(() => {
4038    console.info('apply setLocation successfully');
4039  }).catch((err: BusinessError) => {
4040    console.error(`apply setLocation failed with error: ${err.code}, ${err.message}`);
4041  });
4042}
4043```
4044
4045### setCameraShotKey<sup>12+</sup>
4046
4047setCameraShotKey(cameraShotKey: string): void
4048
4049设置锁屏相机拍照或录像的标记字段。
4050
4051**系统接口**:此接口为系统接口。
4052
4053**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
4054
4055**参数:**
4056
4057| 参数名        | 类型      | 必填   | 说明                                 |
4058| ---------- | ------- | ---- | ---------------------------------- |
4059| cameraShotKey | string | 是   | 锁屏相机拍照或录像的标记字段(仅开放给系统相机,其key值由系统相机定义)。 |
4060
4061**错误码:**
4062
4063接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
4064
4065| 错误码ID | 错误信息 |
4066| -------- | ---------------------------------------- |
4067| 202        |  Called by non-system application.         |
4068| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
4069| 14000011       | System inner fail.         |
4070
4071**示例:**
4072
4073```ts
4074async function example(asset: photoAccessHelper.PhotoAsset) {
4075  console.info('setCameraShotKeyDemo');
4076  try {
4077    let assetChangeRequest: photoAccessHelper.MediaAssetChangeRequest = new photoAccessHelper.MediaAssetChangeRequest(asset);
4078    let cameraShotKey: string = 'test_MediaAssetChangeRequest_setCameraShotKey';
4079    assetChangeRequest.setCameraShotKey(cameraShotKey);
4080    await phAccessHelper.applyChanges(assetChangeRequest);
4081    console.info('apply setCameraShotKey successfully');
4082  } catch (err) {
4083    console.error(`apply setCameraShotKey failed with error: ${err.code}, ${err.message}`);
4084  }
4085}
4086```
4087
4088### setEffectMode<sup>12+</sup>
4089
4090setEffectMode(mode: MovingPhotoEffectMode): void
4091
4092设置动态照片的效果模式。
4093
4094**系统接口**:此接口为系统接口。
4095
4096**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
4097
4098**参数:**
4099
4100| 参数名        | 类型      | 必填   | 说明                                 |
4101| ---------- | ------- | ---- | ---------------------------------- |
4102| mode | [MovingPhotoEffectMode](#movingphotoeffectmode12) | 是   | 动态照片效果模式。 |
4103
4104**错误码:**
4105
4106接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
4107
4108| 错误码ID | 错误信息 |
4109| -------- | ---------------------------------------- |
4110| 202        |  Called by non-system application.         |
4111| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
4112| 14000011       | System inner fail.         |
4113| 14000016       | Operation Not Support.         |
4114
4115**示例:**
4116
4117```ts
4118async function example(asset: photoAccessHelper.PhotoAsset) {
4119  console.info('setEffectModeDemo');
4120  try {
4121    let assetChangeRequest: photoAccessHelper.MediaAssetChangeRequest = new photoAccessHelper.MediaAssetChangeRequest(asset);
4122    assetChangeRequest.setEffectMode(photoAccessHelper.MovingPhotoEffectMode.LONG_EXPOSURE);
4123    // 需要确保fileUri对应的资源存在
4124    let imageFileUri = 'file://com.example.temptest/data/storage/el2/base/haps/entry/files/long_exposure.jpg';
4125    let videoFileUri = 'file://com.example.temptest/data/storage/el2/base/haps/entry/files/long_exposure.mp4';
4126    assetChangeRequest.addResource(photoAccessHelper.ResourceType.IMAGE_RESOURCE, imageFileUri);
4127    assetChangeRequest.addResource(photoAccessHelper.ResourceType.VIDEO_RESOURCE, videoFileUri);
4128    await phAccessHelper.applyChanges(assetChangeRequest);
4129    console.info('apply setEffectMode successfully');
4130  } catch (err) {
4131    console.error(`apply setEffectMode failed with error: ${err.code}, ${err.message}`);
4132  }
4133}
4134```
4135
4136## MediaAssetsChangeRequest<sup>11+</sup>
4137
4138批量资产变更请求。
4139
4140**系统接口**:此接口为系统接口。
4141
4142**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
4143
4144### constructor<sup>11+</sup>
4145
4146constructor(assets: Array&lt;PhotoAsset&gt;)
4147
4148构造函数。
4149
4150**系统接口**:此接口为系统接口。
4151
4152**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
4153
4154**参数:**
4155
4156| 参数名   | 类型                      | 必填 | 说明       |
4157| -------- | ------------------------- | ---- | ---------- |
4158| assets | Array&lt;[PhotoAsset](#photoasset)&gt; | 是   | 需要变更的资产数组。 |
4159
4160**错误码:**
4161
4162接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
4163
4164| 错误码ID | 错误信息 |
4165| -------- | ---------------------------------------- |
4166| 202        |  Called by non-system application.   |
4167| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
4168| 14000011       | System inner fail.          |
4169
4170**示例:**
4171
4172```ts
4173import { dataSharePredicates } from '@kit.ArkData';
4174
4175async function example() {
4176  console.info('MediaAssetsChangeRequest constructorDemo');
4177  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
4178  let fetchOption: photoAccessHelper.FetchOptions = {
4179    fetchColumns: [],
4180    predicates: predicates
4181  };
4182  let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOption);
4183  let photoAssetList: Array<photoAccessHelper.PhotoAsset> = await fetchResult.getAllObjects();
4184  let assetsChangeRequest: photoAccessHelper.MediaAssetsChangeRequest = new photoAccessHelper.MediaAssetsChangeRequest(photoAssetList);
4185}
4186```
4187
4188### setFavorite<sup>11+</sup>
4189
4190setFavorite(favoriteState: boolean): void
4191
4192将文件设置为收藏文件。
4193
4194**系统接口**:此接口为系统接口。
4195
4196**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
4197
4198**参数:**
4199
4200| 参数名        | 类型      | 必填   | 说明                                 |
4201| ---------- | ------- | ---- | ---------------------------------- |
4202| favoriteState | boolean | 是    | 是否设置为收藏文件, true:设置为收藏文件;false:取消收藏。 |
4203
4204**错误码:**
4205
4206接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
4207
4208| 错误码ID | 错误信息 |
4209| -------- | ---------------------------------------- |
4210| 202        |  Called by non-system application.         |
4211| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
4212| 14000011       | System inner fail.         |
4213
4214**示例:**
4215
4216```ts
4217import { dataSharePredicates } from '@kit.ArkData';
4218import { BusinessError } from '@kit.BasicServicesKit';
4219
4220async function example() {
4221  console.info('setFavoriteDemo');
4222  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
4223  let fetchOption: photoAccessHelper.FetchOptions = {
4224    fetchColumns: [],
4225    predicates: predicates
4226  };
4227  let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOption);
4228  let photoAssetList: Array<photoAccessHelper.PhotoAsset> = await fetchResult.getAllObjects();
4229  let assetsChangeRequest: photoAccessHelper.MediaAssetsChangeRequest = new photoAccessHelper.MediaAssetsChangeRequest(photoAssetList);
4230  assetsChangeRequest.setFavorite(true);
4231  phAccessHelper.applyChanges(assetsChangeRequest).then(() => {
4232    console.info('apply setFavorite successfully');
4233  }).catch((err: BusinessError) => {
4234    console.error(`apply setFavorite failed with error: ${err.code}, ${err.message}`);
4235  });
4236}
4237```
4238
4239### setHidden<sup>11+</sup>
4240
4241setHidden(hiddenState: boolean): void
4242
4243将文件设置为隐藏文件。
4244
4245**系统接口**:此接口为系统接口。
4246
4247**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
4248
4249**参数:**
4250
4251| 参数名        | 类型      | 必填   | 说明                                 |
4252| ---------- | ------- | ---- | ---------------------------------- |
4253| hiddenState | boolean  | 是    | 是否设置为隐藏文件,true:将文件资产放入隐藏相册;false:从隐藏相册中恢复。 |
4254
4255**错误码:**
4256
4257接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
4258
4259| 错误码ID | 错误信息 |
4260| -------- | ---------------------------------------- |
4261| 202        |  Called by non-system application.         |
4262| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
4263| 14000011       | System inner fail.         |
4264
4265**示例:**
4266
4267```ts
4268import { dataSharePredicates } from '@kit.ArkData';
4269import { BusinessError } from '@kit.BasicServicesKit';
4270
4271async function example() {
4272  console.info('setHiddenDemo');
4273  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
4274  let fetchOption: photoAccessHelper.FetchOptions = {
4275    fetchColumns: [],
4276    predicates: predicates
4277  };
4278  let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOption);
4279  let photoAssetList: Array<photoAccessHelper.PhotoAsset> = await fetchResult.getAllObjects();
4280  let assetsChangeRequest: photoAccessHelper.MediaAssetsChangeRequest = new photoAccessHelper.MediaAssetsChangeRequest(photoAssetList);
4281  assetsChangeRequest.setHidden(true);
4282  phAccessHelper.applyChanges(assetsChangeRequest).then(() => {
4283    console.info('apply setHidden successfully');
4284  }).catch((err: BusinessError) => {
4285    console.error(`apply setHidden failed with error: ${err.code}, ${err.message}`);
4286  });
4287}
4288```
4289
4290### setUserComment<sup>11+</sup>
4291
4292setUserComment(userComment: string): void
4293
4294修改媒体资产的备注信息。
4295
4296**系统接口**:此接口为系统接口。
4297
4298**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
4299
4300**参数:**
4301
4302| 参数名        | 类型      | 必填   | 说明                                 |
4303| ---------- | ------- | ---- | ---------------------------------- |
4304| userComment | string | 是   | 待修改的资产备注信息,备注信息最长为420字符。 |
4305
4306**错误码:**
4307
4308接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
4309
4310| 错误码ID | 错误信息 |
4311| -------- | ---------------------------------------- |
4312| 202        |  Called by non-system application.         |
4313| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
4314| 14000011       | System inner fail.         |
4315
4316**示例:**
4317
4318```ts
4319import { dataSharePredicates } from '@kit.ArkData';
4320import { BusinessError } from '@kit.BasicServicesKit';
4321
4322async function example() {
4323  console.info('setUserCommentDemo');
4324  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
4325  let fetchOption: photoAccessHelper.FetchOptions = {
4326    fetchColumns: [],
4327    predicates: predicates
4328  };
4329  let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOption);
4330  let photoAssetList: Array<photoAccessHelper.PhotoAsset> = await fetchResult.getAllObjects();
4331  let assetsChangeRequest: photoAccessHelper.MediaAssetsChangeRequest = new photoAccessHelper.MediaAssetsChangeRequest(photoAssetList);
4332  assetsChangeRequest.setUserComment('test_set_user_comment');
4333  phAccessHelper.applyChanges(assetsChangeRequest).then(() => {
4334    console.info('apply setUserComment successfully');
4335  }).catch((err: BusinessError) => {
4336    console.error(`apply setUserComment failed with error: ${err.code}, ${err.message}`);
4337  });
4338}
4339```
4340
4341## MediaAlbumChangeRequest<sup>11+</sup>
4342
4343相册变更请求。
4344
4345**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
4346
4347### createAlbumRequest<sup>11+</sup>
4348
4349static createAlbumRequest(context: Context, name: string): MediaAlbumChangeRequest
4350
4351创建相册变更请求。
4352
4353相册名的参数规格为:
4354- 相册名字符串长度为1~255。
4355- 不允许出现非法字符,包括:<br> . .. \ / : * ? " ' ` < > | { } [ ]
4356- 英文字符大小写不敏感。
4357- 相册名不允许重名。
4358
4359**系统接口**:此接口为系统接口。
4360
4361**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
4362
4363**参数:**
4364
4365| 参数名  | 类型    | 必填 | 说明                       |
4366| ------- | ------- | ---- | -------------------------- |
4367| context | [Context](../apis-ability-kit/js-apis-inner-application-context.md) | 是   | 传入Ability实例的Context。 |
4368| name | string | 是   | 待创建相册的名称。|
4369
4370**返回值:**
4371
4372| 类型                                    | 说明              |
4373| --------------------------------------- | ----------------- |
4374| [MediaAlbumChangeRequest](#mediaalbumchangerequest11) | 返回创建相册的变更请求。 |
4375
4376**错误码:**
4377
4378接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
4379
4380| 错误码ID | 错误信息 |
4381| -------- | ---------------------------------------- |
4382| 202   |  Called by non-system application.         |
4383| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
4384| 14000011   | System inner fail.        |
4385
4386**示例:**
4387
4388```ts
4389async function example() {
4390  console.info('createAlbumRequestDemo');
4391  try {
4392    let albumName: string = 'newAlbumName' + new Date().getTime();
4393    let albumChangeRequest: photoAccessHelper.MediaAlbumChangeRequest = photoAccessHelper.MediaAlbumChangeRequest.createAlbumRequest(context, albumName);
4394    await phAccessHelper.applyChanges(albumChangeRequest);
4395    console.info('apply createAlbumRequest successfully');
4396  } catch (err) {
4397    console.error(`createAlbumRequestDemo failed with error: ${err.code}, ${err.message}`);
4398  }
4399}
4400```
4401
4402### deleteAlbums<sup>11+</sup>
4403
4404static deleteAlbums(context: Context, albums: Array&lt;Album&gt;): Promise&lt;void&gt;
4405
4406删除相册,使用Promise方式返回结果。
4407
4408删除相册前需先确保相册存在,只能删除用户相册。
4409
4410**系统接口**:此接口为系统接口。
4411
4412**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
4413
4414**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
4415
4416**参数:**
4417
4418| 参数名  | 类型    | 必填 | 说明                       |
4419| ------- | ------- | ---- | -------------------------- |
4420| context | [Context](../apis-ability-kit/js-apis-inner-application-context.md) | 是   | 传入Ability实例的Context。 |
4421| albums  |  Array&lt;[Album](#album)&gt;          | 是   | 待删除的相册数组。         |
4422
4423**返回值:**
4424
4425| 类型                                    | 说明              |
4426| --------------------------------------- | ----------------- |
4427| Promise&lt;void&gt;| Promise对象,返回void。 |
4428
4429**错误码:**
4430
4431接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
4432
4433| 错误码ID | 错误信息 |
4434| -------- | ---------------------------------------- |
4435| 201      |  Permission denied.         |
4436| 202   |  Called by non-system application.  |
4437| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
4438| 14000011 |  System inner fail.         |
4439
4440**示例:**
4441
4442```ts
4443import { dataSharePredicates } from '@kit.ArkData';
4444
4445async function example() {
4446  console.info('deleteAlbumsDemo');
4447  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
4448  let fetchOptions: photoAccessHelper.FetchOptions = {
4449    fetchColumns: [],
4450    predicates: predicates
4451  };
4452  try {
4453    let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.USER, photoAccessHelper.AlbumSubtype.USER_GENERIC, fetchOptions);
4454    let album: photoAccessHelper.Album = await fetchResult.getFirstObject();
4455    await photoAccessHelper.MediaAlbumChangeRequest.deleteAlbums(context, [album]);
4456    console.info('deleteAlbums successfully');
4457  } catch (err) {
4458    console.error(`deleteAlbumsDemo failed with error: ${err.code}, ${err.message}`);
4459  }
4460}
4461```
4462
4463### setCoverUri<sup>11+</sup>
4464
4465setCoverUri(coverUri: string): void
4466
4467设置相册封面。
4468
4469**系统接口**:此接口为系统接口。
4470
4471**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
4472
4473**参数:**
4474
4475| 参数名        | 类型      | 必填   | 说明                                 |
4476| ---------- | ------- | ---- | ---------------------------------- |
4477| coverUri | string | 是   | 待设置为相册封面文件的uri。 |
4478
4479**错误码:**
4480
4481接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
4482
4483| 错误码ID | 错误信息 |
4484| -------- | ---------------------------------------- |
4485| 202        |  Called by non-system application.         |
4486| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
4487| 14000011       | System inner fail.         |
4488
4489**示例:**
4490
4491```ts
4492import { dataSharePredicates } from '@kit.ArkData';
4493
4494async function example() {
4495  console.info('setCoverUriDemo');
4496  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
4497  let fetchOptions: photoAccessHelper.FetchOptions = {
4498    fetchColumns: [],
4499    predicates: predicates
4500  };
4501  try {
4502    let albumFetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.USER, photoAccessHelper.AlbumSubtype.USER_GENERIC);
4503    let album: photoAccessHelper.Album = await albumFetchResult.getFirstObject();
4504    let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await album.getAssets(fetchOptions);
4505    let asset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject();
4506
4507    let albumChangeRequest: photoAccessHelper.MediaAlbumChangeRequest = new photoAccessHelper.MediaAlbumChangeRequest(album);
4508    albumChangeRequest.setCoverUri(asset.uri);
4509    await phAccessHelper.applyChanges(albumChangeRequest);
4510    console.info('setCoverUri successfully');
4511  } catch (err) {
4512    console.error(`setCoverUriDemo failed with error: ${err.code}, ${err.message}`);
4513  }
4514}
4515```
4516
4517### moveAssets<sup>11+</sup>
4518
4519moveAssets(assets: Array&lt;PhotoAsset&gt;, targetAlbum: Album): void
4520
4521从相册中移动资产到另一个目标相册。
4522
4523**系统接口**:此接口为系统接口。
4524
4525**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
4526
4527**参数:**
4528
4529| 参数名        | 类型      | 必填   | 说明                                 |
4530| ---------- | ------- | ---- | ---------------------------------- |
4531| assets | Array&lt;[PhotoAsset](#photoasset)&gt; | 是   | 待从相册中移出的资产数组。 |
4532| targetAlbum | Album | 是   | 待移入资产的目标相册。 |
4533
4534**错误码:**
4535
4536接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
4537
4538| 错误码ID | 错误信息 |
4539| -------- | ---------------------------------------- |
4540| 202      |  Called by non-system application.         |
4541| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
4542| 14000011       | System inner fail.         |
4543| 14000016 |  Operation Not Support.     |
4544
4545**示例:**
4546
4547```ts
4548import { dataSharePredicates } from '@kit.ArkData';
4549
4550async function example() {
4551  console.info('moveAssetsDemo');
4552  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
4553  let fetchOptions: photoAccessHelper.FetchOptions = {
4554    fetchColumns: [],
4555    predicates: predicates
4556  };
4557  try {
4558    let albumFetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.USER, photoAccessHelper.AlbumSubtype.USER_GENERIC);
4559    let album: photoAccessHelper.Album = await albumFetchResult.getFirstObject();
4560    let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await album.getAssets(fetchOptions);
4561    let asset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject();
4562
4563    if (albumFetchResult.isAfterLast()) {
4564      console.error('lack of album to be moved into');
4565      return;
4566    }
4567    let nextAlbum: photoAccessHelper.Album = await albumFetchResult.getNextObject();
4568    let albumChangeRequest: photoAccessHelper.MediaAlbumChangeRequest = new photoAccessHelper.MediaAlbumChangeRequest(album);
4569    albumChangeRequest.moveAssets([asset], nextAlbum);
4570    await phAccessHelper.applyChanges(albumChangeRequest);
4571    console.info('moveAssets successfully');
4572  } catch (err) {
4573    console.error(`moveAssetsDemo failed with error: ${err.code}, ${err.message}`);
4574  }
4575}
4576```
4577
4578### recoverAssets<sup>11+</sup>
4579
4580recoverAssets(assets: Array&lt;PhotoAsset&gt;): void
4581
4582从回收站中恢复资产。
4583
4584**系统接口**:此接口为系统接口。
4585
4586**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
4587
4588**参数:**
4589
4590| 参数名        | 类型      | 必填   | 说明                                 |
4591| ---------- | ------- | ---- | ---------------------------------- |
4592| assets | Array&lt;[PhotoAsset](#photoasset)&gt; | 是   | 待从回收站中恢复的资产数组。 |
4593
4594**错误码:**
4595
4596接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
4597
4598| 错误码ID | 错误信息 |
4599| -------- | ---------------------------------------- |
4600| 202      |  Called by non-system application.         |
4601| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
4602| 14000011       | System inner fail.         |
4603| 14000016 |  Operation Not Support.     |
4604
4605**示例:**
4606
4607```ts
4608import { dataSharePredicates } from '@kit.ArkData';
4609
4610async function example() {
4611  console.info('recoverAssetsDemo');
4612  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
4613  let fetchOptions: photoAccessHelper.FetchOptions = {
4614    fetchColumns: [],
4615    predicates: predicates
4616  };
4617  try {
4618    let albumFetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.SYSTEM, photoAccessHelper.AlbumSubtype.TRASH);
4619    let album: photoAccessHelper.Album = await albumFetchResult.getFirstObject();
4620    let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await album.getAssets(fetchOptions);
4621    let asset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject();
4622
4623    let albumChangeRequest: photoAccessHelper.MediaAlbumChangeRequest = new photoAccessHelper.MediaAlbumChangeRequest(album);
4624    albumChangeRequest.recoverAssets([asset]);
4625    await phAccessHelper.applyChanges(albumChangeRequest);
4626    console.info('recoverAssets successfully');
4627  } catch (err) {
4628    console.error(`recoverAssetsDemo failed with error: ${err.code}, ${err.message}`);
4629  }
4630}
4631```
4632
4633### deleteAssets<sup>11+</sup>
4634
4635deleteAssets(assets: Array&lt;PhotoAsset&gt;): void
4636
4637从回收站中彻底删除资产。
4638
4639**注意**:此操作不可逆,执行此操作后文件资源将彻底删除,请谨慎操作。
4640
4641**系统接口**:此接口为系统接口。
4642
4643**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
4644
4645**参数:**
4646
4647| 参数名        | 类型      | 必填   | 说明                                 |
4648| ---------- | ------- | ---- | ---------------------------------- |
4649| assets | Array&lt;[PhotoAsset](#photoasset)&gt; | 是   | 待从回收站中彻底删除的资产数组。 |
4650
4651**错误码:**
4652
4653接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
4654
4655| 错误码ID | 错误信息 |
4656| -------- | ---------------------------------------- |
4657| 202      |  Called by non-system application.         |
4658| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
4659| 14000011       | System inner fail.         |
4660| 14000016 |  Operation Not Support.     |
4661
4662**示例:**
4663
4664```ts
4665import { dataSharePredicates } from '@kit.ArkData';
4666
4667async function example() {
4668  console.info('deleteAssetsPermanentlyDemo');
4669  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
4670  let fetchOptions: photoAccessHelper.FetchOptions = {
4671    fetchColumns: [],
4672    predicates: predicates
4673  };
4674  try {
4675    let albumFetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.SYSTEM, photoAccessHelper.AlbumSubtype.TRASH);
4676    let album: photoAccessHelper.Album = await albumFetchResult.getFirstObject();
4677    let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await album.getAssets(fetchOptions);
4678    let asset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject();
4679
4680    let albumChangeRequest: photoAccessHelper.MediaAlbumChangeRequest = new photoAccessHelper.MediaAlbumChangeRequest(album);
4681    albumChangeRequest.deleteAssets([asset]);
4682    await phAccessHelper.applyChanges(albumChangeRequest);
4683    console.info('succeed to deleteAssets permanently');
4684  } catch (err) {
4685    console.error(`deleteAssetsPermanentlyDemo failed with error: ${err.code}, ${err.message}`);
4686  }
4687}
4688```
4689
4690### setDisplayLevel<sup>11+</sup>
4691
4692setDisplayLevel(displayLevel: number): void
4693
4694设置人像相册的显示级别。
4695
4696**系统接口**:此接口为系统接口。
4697
4698**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
4699
4700**参数:**
4701
4702| 参数名        | 类型      | 必填   | 说明                                 |
4703| ---------- | ------- | ---- | ---------------------------------- |
4704| displayLevel | number | 是    | 设置人像相册的显示级别, 0:取消该人像相册收藏;1:设置人像相册为首届面;2:设置人像相册为更多界面;3:设置人像相册为收藏界面。 |
4705
4706**错误码:**
4707
4708接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
4709
4710| 错误码ID | 错误信息 |
4711| -------- | ---------------------------------------- |
4712| 202        |  Called by non-system application.         |
4713| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
4714| 14000011       | System inner fail.         |
4715
4716**示例:**
4717
4718``` ts
4719import { dataSharePredicates } from '@kit.ArkData';
4720
4721async function example() {
4722  try {
4723    console.info('setDisplayLevel Example')
4724    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
4725    predicates.equalTo('user_display_level', 2);
4726    let fetchOptions: photoAccessHelper.FetchOptions = {
4727      fetchColumns: [],
4728      predicates: predicates
4729    };
4730    let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.SMART, photoAccessHelper.AlbumSubtype.PORTRAIT, fetchOptions);
4731    let album: photoAccessHelper.Album = await fetchResult.getFirstObject();
4732    let changeRequest: photoAccessHelper.MediaAlbumChangeRequest = new photoAccessHelper.MediaAlbumChangeRequest(album);
4733    changeRequest.setDisplayLevel(1);
4734    await phAccessHelper.applyChanges(changeRequest);
4735  } catch (err) {
4736    console.error(`setDisplayLevel failed with error: ${err.code}, ${err.message}`);
4737  }
4738}
4739```
4740
4741### setIsMe<sup>11+</sup>
4742
4743setIsMe(): void
4744
4745将人像相册的人物关系设置为“我”。
4746
4747**系统接口**:此接口为系统接口。
4748
4749**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
4750
4751**错误码:**
4752
4753接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
4754
4755| 错误码ID | 错误信息 |
4756| -------- | ---------------------------------------- |
4757| 202        |  Called by non-system application.         |
4758| 401    | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. |
4759| 14000011       | System inner fail.         |
4760
4761**示例:**
4762
4763``` ts
4764import { dataSharePredicates } from '@kit.ArkData';
4765
4766async function example() {
4767  try {
4768    console.info('setIsMe Example')
4769    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
4770    predicates.equalTo('user_display_level', 2);
4771    let fetchOptions: photoAccessHelper.FetchOptions = {
4772      fetchColumns: [],
4773      predicates: predicates
4774    };
4775    let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.SMART, photoAccessHelper.AlbumSubtype.PORTRAIT, fetchOptions);
4776    let album: photoAccessHelper.Album = await fetchResult.getFirstObject();
4777    let changeRequest: photoAccessHelper.MediaAlbumChangeRequest = new photoAccessHelper.MediaAlbumChangeRequest(album);
4778    changeRequest.setIsMe();
4779    await phAccessHelper.applyChanges(changeRequest);
4780  } catch (err) {
4781    console.error(`setIsMe failed with error: ${err.code}, ${err.message}`);
4782  }
4783}
4784```
4785
4786### dismissAssets<sup>11+</sup>
4787
4788dismissAssets(assets: Array&lt;PhotoAsset&gt;): void
4789
4790从该人像相册或合影相册中移除指定图片。
4791
4792**系统接口**:此接口为系统接口。
4793
4794**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
4795
4796**参数:**
4797
4798| 参数名        | 类型      | 必填   | 说明                                 |
4799| ---------- | ------- | ---- | ---------------------------------- |
4800| assets | Array&lt;PhotoAsset&gt; | 是    | 需要移除的文件列表 。 |
4801
4802**错误码:**
4803
4804接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
4805
4806| 错误码ID | 错误信息 |
4807| -------- | ---------------------------------------- |
4808| 202        |  Called by non-system application.         |
4809| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
4810| 14000011       | System inner fail.         |
4811| 14000016       | Operation Not support.         |
4812
4813**示例:**
4814
4815``` ts
4816import { dataSharePredicates } from '@kit.ArkData';
4817
4818async function example() {
4819  try {
4820    console.info('dismissAssets Example')
4821    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
4822    predicates.equalTo('user_display_level', 2);
4823    let fetchOptions: photoAccessHelper.FetchOptions = {
4824      fetchColumns: [],
4825      predicates: predicates
4826    };
4827    let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.SMART, photoAccessHelper.AlbumSubtype.PORTRAIT, fetchOptions);
4828    let album: photoAccessHelper.Album = await fetchResult.getFirstObject();
4829
4830    let predicatesAsset: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
4831    let assetFetchOptions: photoAccessHelper.FetchOptions = {
4832      fetchColumns: [],
4833      predicates: predicatesAsset
4834    };
4835    let assetFetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(assetFetchOptions);
4836    let asset: photoAccessHelper.PhotoAsset = await assetFetchResult.getFirstObject();
4837
4838    let changeRequest: photoAccessHelper.MediaAlbumChangeRequest = new photoAccessHelper.MediaAlbumChangeRequest(album);
4839    changeRequest.dismissAssets([asset]);
4840    await phAccessHelper.applyChanges(changeRequest);
4841  } catch (err) {
4842    console.error(`dismissAssets failed with error: ${err.code}, ${err.message}`);
4843  }
4844}
4845```
4846
4847### mergeAlbum<sup>11+</sup>
4848
4849mergeAlbum(target: Album): void
4850
4851将两个人像相册合并。
4852
4853**系统接口**:此接口为系统接口。
4854
4855**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
4856
4857**参数:**
4858
4859| 参数名        | 类型      | 必填   | 说明                                 |
4860| ---------- | ------- | ---- | ---------------------------------- |
4861| target | [Album](#album) | 是    | 需要合并的目标相册,合并相册必须重命名。 |
4862
4863**错误码:**
4864
4865接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
4866
4867| 错误码ID | 错误信息 |
4868| -------- | ---------------------------------------- |
4869| 202        |  Called by non-system application.         |
4870| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
4871| 14000011       | System inner fail.         |
4872| 14000016       | Operation Not support.         |
4873
4874**示例:**
4875
4876``` ts
4877import { dataSharePredicates } from '@kit.ArkData';
4878
4879async function example() {
4880  try {
4881    console.info('mergeAlbum Example')
4882    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
4883    predicates.equalTo('user_display_level', 2);
4884    let fetchOptions: photoAccessHelper.FetchOptions = {
4885      fetchColumns: [],
4886      predicates: predicates
4887    };
4888    let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.SMART, photoAccessHelper.AlbumSubtype.PORTRAIT, fetchOptions);
4889    let album: photoAccessHelper.Album = await fetchResult.getFirstObject();
4890    if (fetchResult.isAfterLast()) {
4891      console.error('lack of album to merge');
4892      return;
4893    }
4894    let target: photoAccessHelper.Album = await fetchResult.getNextObject();
4895
4896    let changeRequest: photoAccessHelper.MediaAlbumChangeRequest = new photoAccessHelper.MediaAlbumChangeRequest(album);
4897    changeRequest.mergeAlbum(target);
4898    changeRequest.setAlbumName("testName");
4899    await phAccessHelper.applyChanges(changeRequest);
4900  } catch (err) {
4901    console.error(`mergeAlbum failed with error: ${err.code}, ${err.message}`);
4902  }
4903}
4904```
4905
4906### placeBefore<sup>11+</sup>
4907
4908placeBefore(album: Album): void;
4909
4910将当前相册排序到目标相册之前。
4911
4912**系统接口**:此接口为系统接口。
4913
4914**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
4915
4916**参数:**
4917
4918| 参数名        | 类型      | 必填   | 说明                                 |
4919| ---------- | ------- | ---- | ---------------------------------- |
4920| album | [Album](#album) | 是   |  目标相册。如果要将当前相册排序到末位,则目标相册传入null。 |
4921
4922**错误码:**
4923
4924接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
4925
4926| 错误码ID | 错误信息 |
4927| -------- | ---------------------------------------- |
4928| 202      |  Called by non-system application.         |
4929| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
4930| 14000011       | System inner fail.         |
4931
4932**示例:**
4933
4934```ts
4935async function example() {
4936  console.info('placeBeforeDemo');
4937  try {
4938    let albumFetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.USER, photoAccessHelper.AlbumSubtype.USER_GENERIC);
4939    let firstAlbum: photoAccessHelper.Album = await albumFetchResult.getFirstObject();
4940    if (albumFetchResult.isAfterLast()) {
4941      console.error('lack of album to place before');
4942      return;
4943    }
4944    let secondAlbum: photoAccessHelper.Album = await albumFetchResult.getNextObject();
4945    let albumChangeRequest: photoAccessHelper.MediaAlbumChangeRequest = new photoAccessHelper.MediaAlbumChangeRequest(secondAlbum);
4946    albumChangeRequest.placeBefore(firstAlbum);
4947    await phAccessHelper.applyChanges(albumChangeRequest);
4948    console.info('placeBefore successfully');
4949  } catch (err) {
4950    console.error(`placeBeforeDemo failed with error: ${err.code}, ${err.message}`);
4951  }
4952}
4953```
4954
4955### dismiss<sup>13+</sup>
4956
4957dismiss(): void
4958
4959删除合影相册。
4960
4961**系统接口**:此接口为系统接口。
4962
4963**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
4964
4965**错误码:**
4966
4967接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
4968
4969| 错误码ID    | 错误信息                              |
4970| :------- | :-------------------------------- |
4971| 202      | Called by non-system application. |
4972| 401 | Parameter error. Possible causes: Incorrect parameter types. |
4973| 14000011 | System inner fail.            |
4974
4975**示例:**
4976
4977```ts
4978import { dataSharePredicates } from '@kit.ArkData';
4979
4980async function example() {
4981  console.info('dismissDemo');
4982  try {
4983    let albumFetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.SMART, photoAccessHelper.AlbumSubtype.GROUP_PHOTO);
4984    let album: photoAccessHelper.Album = await albumFetchResult.getFirstObject();
4985
4986    let albumChangeRequest: photoAccessHelper.MediaAlbumChangeRequest = new photoAccessHelper.MediaAlbumChangeRequest(album);
4987    albumChangeRequest.dismiss();
4988    await phAccessHelper.applyChanges(albumChangeRequest);
4989    console.info('dismiss successfully');
4990  } catch (err) {
4991    console.error(`dismissDemo failed with error: ${err.code}, ${err.message}`);
4992  }
4993}
4994```
4995
4996## HighlightAlbum<sup>12+</sup>
4997
4998时刻相册。
4999
5000**系统接口**:此接口为系统接口。
5001
5002**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
5003
5004### constructor<sup>12+</sup>
5005
5006constructor(album: Album)
5007
5008构造函数。
5009
5010**系统接口**:此接口为系统接口。
5011
5012**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
5013
5014**参数:**
5015
5016| 参数名   | 类型                      | 必填 | 说明       |
5017| -------- | ------------------------- | ---- | ---------- |
5018| album | [Album](#album) | 是   | 智慧相册。 |
5019
5020**错误码:**
5021
5022接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
5023
5024| 错误码ID | 错误信息 |
5025| -------- | ---------------------------------------- |
5026| 202      |  Called by non-system application.   |
5027| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
5028| 14000011 | Internal system error.            |
5029
5030**示例:**
5031
5032```ts
5033import { dataSharePredicates } from '@kit.ArkData';
5034
5035async function example() {
5036  console.info('HighlightAlbum constructorDemo');
5037  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
5038  let fetchOption: photoAccessHelper.FetchOptions = {
5039    fetchColumns: [],
5040    predicates: predicates
5041  };
5042  let albumFetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await photoAccessHelper.getAlbums(
5043    photoAccessHelper.AlbumType.SMART, photoAccessHelper.AlbumSubtype.HIGHLIGHT, fetchOption);
5044  let album: photoAccessHelper.Album = await albumFetchResult.getFirstObject();
5045  let highlightAlbum: photoAccessHelper.HighlightAlbum = new photoAccessHelper.HighlightAlbum(album);
5046  albumFetchResult.close();
5047}
5048```
5049
5050### getHighlightAlbumInfo<sup>12+</sup>
5051
5052getHighlightAlbumInfo(type: HighlightAlbumInfoType): Promise&lt;string&gt;
5053
5054获取指定时刻相册的特定信息。
5055
5056**系统接口**:此接口为系统接口。
5057
5058**需要权限**:ohos.permission.READ\_IMAGEVIDEO
5059
5060**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
5061
5062**参数:**
5063
5064| 参数名        | 类型      | 必填   | 说明                                 |
5065| ---------- | ------- | ---- | ---------------------------------- |
5066| type       | [HighlightAlbumInfoType](#highlightalbuminfotype12) | 是    | 需要获取的时刻相册信息类型。 |
5067
5068**错误码:**
5069
5070接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
5071
5072| 错误码ID    | 错误信息                              |
5073| :------- | :-------------------------------- |
5074| 201      | Permission denied.                |
5075| 202      | Called by non-system application. |
5076| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
5077| 14000011 | Internal system error.            |
5078
5079**示例:**
5080
5081```ts
5082import { dataSharePredicates } from '@kit.ArkData';
5083
5084async function example() {
5085  try {
5086    console.info('getHighlightAlbumInfoDemo')
5087    let fetchOptions: photoAccessHelper.FetchOptions = {
5088      fetchColumns: [],
5089      predicates: new dataSharePredicates.DataSharePredicates()
5090    }
5091    let albumFetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await photoAccessHelper.getAlbums(
5092    photoAccessHelper.AlbumType.SMART, photoAccessHelper.AlbumSubtype.HIGHLIGHT, fetchOption);
5093    let album: photoAccessHelper.Album = await albumFetchResult.getFirstObject();、
5094    if (album != undefined) {
5095      let highlightAlbum: photoAccessHelper.HighlightAlbum = new photoAccessHelper.HighlightAlbum(album);
5096      let coverInfo: string = await highlightAlbum.getHighlightAlbumInfo(
5097        photoAccessHelper.HighlightAlbumInfoType.COVER_INFO);
5098      console.info('get cover info result: ' + JSON.stringify(coverInfo));
5099    }
5100    
5101    albumFetchResult.close();
5102  } catch (err) {
5103    console.error(`getHighlightAlbumInfoDemofailed with error: ${err.code}, ${err.message}`);
5104  }
5105}
5106```
5107
5108### getHighlightResource<sup>12+</sup>
5109
5110getHighlightResource(resourceUri: string): Promise&lt;ArrayBuffer&gt;
5111
5112获取指定时刻缓存资源的ArrayBuffer。
5113
5114**系统接口**:此接口为系统接口。
5115
5116**需要权限**:ohos.permission.READ\_IMAGEVIDEO
5117
5118**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
5119
5120**参数:**
5121
5122| 参数名        | 类型      | 必填   | 说明                                 |
5123| ---------- | ------- | ---- | ---------------------------------- |
5124| resourceUri       | string | 是    | 指定时刻缓存资源uri。 |
5125
5126**错误码:**
5127
5128接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
5129
5130| 错误码ID    | 错误信息                              |
5131| :------- | :-------------------------------- |
5132| 201      | Permission denied.                |
5133| 202      | Called by non-system application. |
5134| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
5135| 14000011 | Internal system error.            |
5136
5137**示例:**
5138
5139```ts
5140import { dataSharePredicates } from '@kit.ArkData';
5141
5142async function example() {
5143  try {
5144    console.info('getHighlightResourceDemo')
5145    let fetchOptions: photoAccessHelper.FetchOptions = {
5146      fetchColumns: [],
5147      predicates: new dataSharePredicates.DataSharePredicates()
5148    }
5149    let albumFetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await photoAccessHelper.getAlbums(
5150    photoAccessHelper.AlbumType.SMART, photoAccessHelper.AlbumSubtype.HIGHLIGHT, fetchOption);
5151    let album: photoAccessHelper.Album = await albumFetchResult.getFirstObject();、
5152    if (album != undefined) {
5153      let highlightAlbum: photoAccessHelper.HighlightAlbum = new photoAccessHelper.HighlightAlbum(album);
5154      let uri: string = 'file://media/highlight/cover/10/1_1/background.png?oper=highlight'
5155      let arrayBuffer: ArrayBuffer = await highlightAlbum.getHighlightResource(uri);
5156    }
5157    albumFetchResult.close();
5158  } catch (err) {
5159    console.error(`getHighlightResourceDemofailed with error: ${err.code}, ${err.message}`);
5160  }
5161}
5162```
5163
5164### setHighlightUserActionData<sup>12+</sup>
5165
5166setHighlightUserActionData(type: HighlightUserActionType, actionData: number): Promise&lt;void&gt;
5167
5168设置指定时刻用户行为数据。
5169
5170**系统接口**:此接口为系统接口。
5171
5172**需要权限**:ohos.permission.WRITE\_IMAGEVIDEO
5173
5174**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
5175
5176**参数:**
5177
5178| 参数名        | 类型      | 必填   | 说明                                 |
5179| ---------- | ------- | ---- | ---------------------------------- |
5180| type       | [HighlightUserActionType](#highlightuseractiontype12) | 是    | 需要设置的用户行为数据类型。 |
5181| actionData | number | 是    | 行为数据。 |
5182
5183**错误码:**
5184
5185接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
5186
5187| 错误码ID    | 错误信息                              |
5188| :------- | :-------------------------------- |
5189| 201      | Permission denied.                |
5190| 202      | Called by non-system application. |
5191| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
5192| 14000011 | Internal system error.            |
5193
5194**示例:**
5195
5196```ts
5197import { dataSharePredicates } from '@kit.ArkData';
5198
5199async function example() {
5200  try {
5201    console.info('setHighlightUserActionDataDemo')
5202    let fetchOptions: photoAccessHelper.FetchOptions = {
5203      fetchColumns: [],
5204      predicates: new dataSharePredicates.DataSharePredicates()
5205    }
5206    let albumFetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await photoAccessHelper.getAlbums(
5207    photoAccessHelper.AlbumType.SMART, photoAccessHelper.AlbumSubtype.HIGHLIGHT, fetchOption);
5208    let album: photoAccessHelper.Album = await albumFetchResult.getFirstObject();、
5209    if (album != undefined) {
5210      let highlightAlbum: photoAccessHelper.HighlightAlbum = new photoAccessHelper.HighlightAlbum(album);
5211      highlightAlbum.setHighlightUserActionData(photoAccessHelper.HighlightUserActionType.INSERTED_PIC_COUNT, 1);
5212    }
5213    albumFetchResult.close();
5214  } catch (err) {
5215    console.error(`setHighlightUserActionDataDemofailed with error: ${err.code}, ${err.message}`);
5216  }
5217}
5218```
5219
5220## CloudEnhancement<sup>13+</sup>
5221
5222云增强管理类,该类用于生成AI云增强照片任务的管理、获取原照片与AI云增强照片的关联关系。
5223
5224**系统接口**:此接口为系统接口。
5225
5226**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
5227
5228### getCloudEnhancementInstance<sup>13+</sup>
5229
5230static getCloudEnhancementInstance(context: Context): CloudEnhancement
5231
5232获取云增强类实例。
5233
5234**系统接口**:此接口为系统接口。
5235
5236**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
5237
5238**参数:**
5239
5240| 参数名   | 类型                      | 必填 | 说明       |
5241| -------- | ------------------------- | ---- | ---------- |
5242| context | [Context](../apis-ability-kit/js-apis-inner-application-context.md) | 是   | 传入Ability实例的Context。 |
5243
5244**错误码:**
5245
5246接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
5247
5248| 错误码ID | 错误信息 |
5249| -------- | ---------------------------------------- |
5250| 202      |  Called by non-system application.   |
5251| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
5252| 14000011 | Internal system error.            |
5253
5254**示例:**
5255
5256```ts
5257import { dataSharePredicates } from '@kit.ArkData';
5258
5259async function example() {
5260  console.info('getCloudEnhancementInstanceDemo');
5261  let photoPredicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
5262  let photoFetchOptions: photoAccessHelper.FetchOptions = {
5263    fetchColumns: [],
5264    predicates: photoPredicates
5265  };
5266  let phAccessHelper = photoAccessHelper.getPhotoAccessHelper(context);
5267  try {
5268    let fetchResult = await phAccessHelper.getAssets(photoFetchOptions);
5269    let asset = await fetchResult.getLastObject();
5270    let cloudEnhancementInstance: photoAccessHelper.CloudEnhancement
5271      = photoAccessHelper.CloudEnhancement.getCloudEnhancementInstance(context);
5272    let hasCloudWatermark = true;
5273    await cloudEnhancementInstance.submitCloudEnhancementTasks([asset], hasCloudWatermark);
5274  } catch (err) {
5275    console.error(`getCloudEnhancementInstanceDemo failed with error: ${err.code}, ${err.message}`);
5276  }
5277}
5278```
5279
5280### submitCloudEnhancementTasks<sup>13+</sup>
5281
5282submitCloudEnhancementTasks(photoAssets: Array&lt;PhotoAsset&gt;, hasCloudWatermark: boolean): Promise&lt;void&gt;
5283
5284提交云增强任务。
5285
5286**系统接口**:此接口为系统接口。
5287
5288**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
5289
5290**参数:**
5291
5292| 参数名   | 类型                      | 必填 | 说明       |
5293| -------- | ------------------------- | ---- | ---------- |
5294| photoAssets | Array<[PhotoAsset](#photoasset)> | 是   | 需要增强照片的[PhotoAsset](#photoasset)集合。 |
5295| hasCloudWatermark | boolean | 是   | 增强后图片是否添加云增强水印。 |
5296
5297**错误码:**
5298
5299接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
5300
5301| 错误码ID | 错误信息 |
5302| -------- | ---------------------------------------- |
5303| 201      | Permission denied.                |
5304| 202      | Called by non-system application. |
5305| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
5306| 14000011 | Internal system error.            |
5307
5308**示例:**
5309
5310```ts
5311import { dataSharePredicates } from '@kit.ArkData';
5312
5313async function example() {
5314  console.info('submitCloudEnhancementTasksDemo');
5315  let photoPredicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
5316  let photoFetchOptions: photoAccessHelper.FetchOptions = {
5317    fetchColumns: [],
5318    predicates: photoPredicates
5319  };
5320  let phAccessHelper = photoAccessHelper.getPhotoAccessHelper(context);
5321  try {
5322    let fetchResult = await phAccessHelper.getAssets(photoFetchOptions);
5323    let asset = await fetchResult.getLastObject();
5324    let cloudEnhancementInstance: photoAccessHelper.CloudEnhancement
5325      = photoAccessHelper.CloudEnhancement.getCloudEnhancementInstance(context);
5326    let hasCloudWatermark = true;
5327    await cloudEnhancementInstance.submitCloudEnhancementTasks([asset], hasCloudWatermark);
5328  } catch (err) {
5329    console.error(`submitCloudEnhancementTasksDemo failed with error: ${err.code}, ${err.message}`);
5330  }
5331}
5332```
5333
5334### prioritizeCloudEnhancementTask<sup>13+</sup>
5335
5336prioritizeCloudEnhancementTask(photoAsset: PhotoAsset): Promise&lt;void&gt;
5337
5338提升指定云增强任务的优先级。
5339
5340**系统接口**:此接口为系统接口。
5341
5342**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
5343
5344**参数:**
5345
5346| 参数名   | 类型                      | 必填 | 说明       |
5347| -------- | ------------------------- | ---- | ---------- |
5348| photoAsset | [PhotoAsset](#photoasset) | 是   | 需要修改云增强优先级照片的[PhotoAsset](#photoasset)。 |
5349
5350**错误码:**
5351
5352接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
5353
5354| 错误码ID | 错误信息 |
5355| -------- | ---------------------------------------- |
5356| 201      | Permission denied.                |
5357| 202      | Called by non-system application. |
5358| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
5359| 14000011 | Internal system error.            |
5360
5361**示例:**
5362
5363```ts
5364import { dataSharePredicates } from '@kit.ArkData';
5365
5366async function example() {
5367  console.info('prioritizeCloudEnhancementTaskDemo');
5368  let photoPredicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
5369  // 查询进行中的云增强任务
5370  photoPredicates.equalTo(photoAccessHelper.PhotoKeys.CE_AVAILABLE, 2);
5371  let photoFetchOptions: photoAccessHelper.FetchOptions = {
5372    fetchColumns: [],
5373    predicates: photoPredicates
5374  };
5375  let phAccessHelper = photoAccessHelper.getPhotoAccessHelper(context);
5376  try {
5377    let fetchResult = await phAccessHelper.getAssets(photoFetchOptions);
5378    let asset = await fetchResult.getLastObject();
5379    let cloudEnhancementInstance: photoAccessHelper.CloudEnhancement
5380      = photoAccessHelper.CloudEnhancement.getCloudEnhancementInstance(context);
5381    let hasCloudWatermark = true;
5382    await cloudEnhancementInstance.prioritizeCloudEnhancementTask(asset);
5383  } catch (err) {
5384    console.error(`prioritizeCloudEnhancementTaskDemo failed with error: ${err.code}, ${err.message}`);
5385  }
5386}
5387```
5388
5389### cancelCloudEnhancementTasks<sup>13+</sup>
5390
5391cancelCloudEnhancementTasks(photoAssets: Array&lt;PhotoAsset&gt;): Promise&lt;void&gt;
5392
5393取消指定云增强任务。
5394
5395**系统接口**:此接口为系统接口。
5396
5397**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
5398
5399**参数:**
5400
5401| 参数名   | 类型                      | 必填 | 说明       |
5402| -------- | ------------------------- | ---- | ---------- |
5403| photoAssets | Array<[PhotoAsset](#photoasset)> | 是   | 需要取消云增强任务的[PhotoAsset](#photoasset)集合。 |
5404
5405**错误码:**
5406
5407接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
5408
5409| 错误码ID | 错误信息 |
5410| -------- | ---------------------------------------- |
5411| 201      | Permission denied.                |
5412| 202      | Called by non-system application. |
5413| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
5414| 14000011 | Internal system error.            |
5415
5416**示例:**
5417
5418```ts
5419import { dataSharePredicates } from '@kit.ArkData';
5420
5421async function example() {
5422  console.info('cancelCloudEnhancementTasksDemo');
5423  let photoPredicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
5424  // 查询进行中的云增强任务
5425  photoPredicates.equalTo(photoAccessHelper.PhotoKeys.CE_AVAILABLE, 2);
5426  let photoFetchOptions: photoAccessHelper.FetchOptions = {
5427    fetchColumns: [],
5428    predicates: photoPredicates
5429  };
5430  let phAccessHelper = photoAccessHelper.getPhotoAccessHelper(context);
5431  try {
5432    let fetchResult = await phAccessHelper.getAssets(photoFetchOptions);
5433    let asset = await fetchResult.getLastObject();
5434    let cloudEnhancementInstance: photoAccessHelper.CloudEnhancement
5435      = photoAccessHelper.CloudEnhancement.getCloudEnhancementInstance(context);
5436    await cloudEnhancementInstance.cancelCloudEnhancementTasks([asset]);
5437  } catch (err) {
5438    console.error(`cancelCloudEnhancementTasksDemo failed with error: ${err.code}, ${err.message}`);
5439  }
5440}
5441```
5442
5443### cancelAllCloudEnhancementTasks<sup>13+</sup>
5444
5445cancelAllCloudEnhancementTasks(): Promise&lt;void&gt;
5446
5447取消全部云增强任务。
5448
5449**系统接口**:此接口为系统接口。
5450
5451**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
5452
5453**错误码:**
5454
5455接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
5456
5457| 错误码ID | 错误信息 |
5458| -------- | ---------------------------------------- |
5459| 201      | Permission denied.                |
5460| 202      | Called by non-system application. |
5461| 14000011 | Internal system error.            |
5462
5463**示例:**
5464
5465```ts
5466import { dataSharePredicates } from '@kit.ArkData';
5467
5468async function example() {
5469  console.info('cancelAllCloudEnhancementTasksDemo');
5470  try {
5471    let cloudEnhancementInstance: photoAccessHelper.CloudEnhancement
5472      = photoAccessHelper.CloudEnhancement.getCloudEnhancementInstance(context);
5473    await cloudEnhancementInstance.cancelCloudEnhancementTasks();
5474  } catch (err) {
5475    console.error(`cancelAllCloudEnhancementTasksDemo failed with error: ${err.code}, ${err.message}`);
5476  }
5477}
5478```
5479
5480### queryCloudEnhancementTaskState<sup>13+</sup>
5481
5482queryCloudEnhancementTaskState(photoAsset: PhotoAsset): Promise&lt;CloudEnhancementTaskState&gt;
5483
5484查询云增强任务信息。
5485
5486**系统接口**:此接口为系统接口。
5487
5488**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
5489
5490**参数:**
5491
5492| 参数名   | 类型                      | 必填 | 说明       |
5493| -------- | ------------------------- | ---- | ---------- |
5494| photoAsset | [PhotoAsset](#photoasset) | 是   | 需要查询云增强任务信息的[PhotoAsset](#photoasset)。 |
5495
5496**错误码:**
5497
5498接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
5499
5500| 错误码ID | 错误信息 |
5501| -------- | ---------------------------------------- |
5502| 201      | Permission denied.                |
5503| 202      | Called by non-system application. |
5504| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
5505| 14000011 | Internal system error.            |
5506
5507**示例:**
5508
5509```ts
5510import { dataSharePredicates } from '@kit.ArkData';
5511
5512async function example() {
5513  console.info('queryCloudEnhancementTaskStateDemo');
5514  let photoPredicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
5515  // 查询进行中的云增强任务
5516  photoPredicates.equalTo(photoAccessHelper.PhotoKeys.CE_AVAILABLE, 2);
5517  let photoFetchOptions: photoAccessHelper.FetchOptions = {
5518    fetchColumns: [],
5519    predicates: photoPredicates
5520  };
5521  let phAccessHelper = photoAccessHelper.getPhotoAccessHelper(context);
5522  try {
5523    let fetchResult = await phAccessHelper.getAssets(photoFetchOptions);
5524    let asset = await fetchResult.getLastObject();
5525    let cloudEnhancementInstance: photoAccessHelper.CloudEnhancement
5526      = photoAccessHelper.CloudEnhancement.getCloudEnhancementInstance(context);
5527    const cloudEnhancementTaskState: photoAccessHelper.CloudEnhancementTaskState
5528      = await cloudEnhancementInstance.queryCloudEnhancementTaskState(asset);
5529    let taskStage = cloudEnhancementTaskState.taskStage;
5530    if (taskStage == photoAccessHelper.CloudEnhancementTaskStage.TASK_STAGE_EXCEPTION) {
5531      console.log("task has exception");
5532    } else if (taskStage == photoAccessHelper.CloudEnhancementTaskStage.TASK_STAGE_PREPARING) {
5533      console.log("task is preparing");
5534    } else if (taskStage == photoAccessHelper.CloudEnhancementTaskStage.TASK_STAGE_UPLOADING) {
5535      let transferredFileSize = cloudEnhancementTaskState.transferredFileSize;
5536      let totalFileSize = cloudEnhancementTaskState.totalFileSize;
5537      let message = `task is uploading, transferredFileSize: ${transferredFileSize}, totalFileSize: ${totalFileSize}`;
5538      console.log(message);
5539    } else if (taskStage == photoAccessHelper.CloudEnhancementTaskStage.TASK_STAGE_EXECUTING) {
5540      let expectedDuration = cloudEnhancementTaskState.expectedDuration;
5541      let message = `task is executing, expectedDuration: ${expectedDuration}`;
5542      console.log(message);
5543    } else if (taskStage == photoAccessHelper.CloudEnhancementTaskStage.TASK_STAGE_DOWNLOADING) {
5544      let transferredFileSize = cloudEnhancementTaskState.transferredFileSize;
5545      let totalFileSize = cloudEnhancementTaskState.totalFileSize;
5546      let message = `task is downloading, transferredFileSize: ${transferredFileSize}, totalFileSize: ${totalFileSize}`;
5547      console.log(message);
5548    } else if (taskStage == photoAccessHelper.CloudEnhancementTaskStage.TASK_STAGE_FAILED) {
5549      let errCode = cloudEnhancementTaskState.statusCode;
5550      let message = `task is failed, errCode: ${errCode}`;
5551      console.log(message);
5552    } else if (taskStage == photoAccessHelper.CloudEnhancementTaskStage.TASK_STAGE_COMPLETED) {
5553      console.log("task is completed");
5554    }
5555  } catch (err) {
5556    console.error(`queryCloudEnhancementTaskStateDemo failed with error: ${err.code}, ${err.message}`);
5557  }
5558}
5559```
5560
5561### syncCloudEnhancementTaskStatus<sup>13+</sup>
5562
5563syncCloudEnhancementTaskStatus(): Promise&lt;void&gt;
5564
5565同步云增强任务状态。
5566
5567**系统接口**:此接口为系统接口。
5568
5569**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
5570
5571**错误码:**
5572
5573接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
5574
5575| 错误码ID | 错误信息 |
5576| -------- | ---------------------------------------- |
5577| 201      | Permission denied.                |
5578| 202      | Called by non-system application. |
5579| 14000011 | Internal system error.            |
5580
5581**示例:**
5582
5583```ts
5584import { dataSharePredicates } from '@kit.ArkData';
5585
5586async function example() {
5587  console.info('syncCloudEnhancementTaskStatusDemo');
5588  try {
5589    let cloudEnhancementInstance: photoAccessHelper.CloudEnhancement
5590      = photoAccessHelper.CloudEnhancement.getCloudEnhancementInstance(context);
5591    await cloudEnhancementInstance.syncCloudEnhancementTaskStatus();
5592  } catch (err) {
5593    console.error(`syncCloudEnhancementTaskStatusDemo failed with error: ${err.code}, ${err.message}`);
5594  }
5595}
5596```
5597
5598### getCloudEnhancementPair<sup>13+</sup>
5599
5600getCloudEnhancementPair(asset: PhotoAsset): Promise&lt;PhotoAsset&gt;
5601
5602查询云增强配对照片。
5603
5604**系统接口**:此接口为系统接口。
5605
5606**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
5607
5608**参数:**
5609
5610| 参数名   | 类型                      | 必填 | 说明       |
5611| -------- | ------------------------- | ---- | ---------- |
5612| photoAsset | [PhotoAsset](#photoasset) | 是   | 需要修改云增强优先级照片的[PhotoAsset](#photoasset)。 |
5613
5614**错误码:**
5615
5616接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
5617
5618| 错误码ID | 错误信息 |
5619| -------- | ---------------------------------------- |
5620| 201      | Permission denied.                |
5621| 202      | Called by non-system application. |
5622| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
5623| 14000011 | Internal system error.            |
5624
5625**示例:**
5626
5627```ts
5628import { dataSharePredicates } from '@kit.ArkData';
5629
5630async function example() {
5631  console.info('getCloudEnhancementPairDemo');
5632  let photoPredicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
5633  // 查询已完成的云增强任务
5634  photoPredicates.equalTo(photoAccessHelper.PhotoKeys.CE_AVAILABLE, 5);
5635  let photoFetchOptions: photoAccessHelper.FetchOptions = {
5636    fetchColumns: [],
5637    predicates: photoPredicates
5638  };
5639  let phAccessHelper = photoAccessHelper.getPhotoAccessHelper(context);
5640  try {
5641    let fetchResult = await phAccessHelper.getAssets(photoFetchOptions);
5642    let asset = await fetchResult.getLastObject();
5643    let cloudEnhancementInstance: photoAccessHelper.CloudEnhancement
5644      = photoAccessHelper.CloudEnhancement.getCloudEnhancementInstance(context);
5645    let photoAsset: photoAccessHelper.PhotoAsset
5646      = await cloudEnhancementInstance.getCloudEnhancementPair(asset);
5647  } catch (err) {
5648    console.error(`getCloudEnhancementPairDemo failed with error: ${err.code}, ${err.message}`);
5649  }
5650}
5651```
5652
5653### setVideoEnhancementAttr<sup>13+</sup>
5654
5655setVideoEnhancementAttr(videoEnhancementType: VideoEnhancementType, photoId: string): Promise&lt;void&gt;
5656
5657**系统接口**:此接口为系统接口。
5658
5659**需要权限**:ohos.permission.WRITE\_IMAGEVIDEO
5660
5661**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
5662
5663**参数:**
5664
5665| 参数名        | 类型      | 必填   | 说明                                 |
5666| ---------- | ------- | ---- | ---------------------------------- |
5667| videoEnhancementType       | [VideoEnhancementType](#videoenhancementtype13) | 是    | 需要进行分段式视频的处理类型。 |
5668| photoId | string | 是    | 图片的photoId。 |
5669
5670**错误码:**
5671
5672接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
5673
5674| 错误码ID    | 错误信息                              |
5675| :------- | :-------------------------------- |
5676| 202      | Called by non-system application. |
5677| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
5678| 14000011 | Internal system error.            |
5679| 14000016 | Operation Not Support.            |
5680
5681**示例:**
5682
5683```ts
5684async function example(asset: photoAccessHelper.PhotoAsset) {
5685  try {
5686    let assetChangeRequest: photoAccessHelper.MediaAssetChangeRequest = new photoAccessHelper.MediaAssetChangeRequest(asset);
5687    let photoId = "202410011800";
5688    assetChangeRequest.setVideoEnhancementAttr(photoAccessHelper.VideoEnhancementType.QUALITY_ENHANCEMENT_LOCAL, photoId);
5689    await phAccessHelper.applyChanges(assetChangeRequest);
5690  } catch (err) {
5691    console.error(`setVideoEnhancementAttr fail with error: ${err.code}, ${err.message}`);
5692  }
5693}
5694```
5695
5696## PhotoSubtype
5697
5698枚举,不同[PhotoAsset](#photoasset)的类型。
5699
5700**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
5701
5702| 名称  |  值 |  说明 |
5703| ----- |  ---- |  ---- |
5704| SCREENSHOT |  1 |  截屏录屏文件类型。**系统接口**:此接口为系统接口。 |
5705
5706## PositionType
5707
5708枚举,文件位置,表示文件在本地或云端。
5709
5710**系统接口**:此接口为系统接口。
5711
5712**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
5713
5714| 名称  |  值 |  说明 |
5715| ----- |  ---- |  ---- |
5716| LOCAL |  1 << 0 |  文件只存在于本端设备。 |
5717| CLOUD |  1 << 1 |  文件只存在于云端。 |
5718
5719## AlbumType
5720
5721枚举,相册类型,表示是用户相册还是系统预置相册。
5722
5723**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
5724
5725| 名称                  | 值    | 说明                        |
5726| ------------------- | ---- | ------------------------- |
5727| SMART<sup>11+</sup> | 4096 | 智慧分析相册。**系统接口**:此接口为系统接口。 |
5728
5729## AlbumSubtype
5730
5731枚举,相册子类型,表示具体的相册类型。
5732
5733**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
5734
5735| 名称                                | 值          | 说明                              |
5736| --------------------------------- | ---------- | ------------------------------- |
5737| HIDDEN                            | 1027       | 隐藏相册。**系统接口**:此接口为系统接口。         |
5738| TRASH                             | 1028       | 回收站。**系统接口**:此接口为系统接口。          |
5739| SCREENSHOT                        | 1029       | 截屏和录屏相册。**系统接口**:此接口为系统接口。      |
5740| CAMERA                            | 1030       | 相机拍摄的照片和视频相册。**系统接口**:此接口为系统接口。 |
5741| SOURCE\_GENERIC<sup>11+</sup>     | 2049       | 来源相册。**系统接口**:此接口为系统接口。         |
5742| CLASSIFY<sup>11+</sup>            | 4097       | 分类相册。**系统接口**:此接口为系统接口。         |
5743| GEOGRAPHY\_LOCATION<sup>11+</sup> | 4099       | 地图相册。**系统接口**:此接口为系统接口。         |
5744| GEOGRAPHY\_CITY<sup>11+</sup>     | 4100       | 城市相册。**系统接口**:此接口为系统接口。         |
5745| SHOOTING\_MODE<sup>11+</sup>      | 4101       | 拍摄模式相册。**系统接口**:此接口为系统接口。       |
5746| PORTRAIT<sup>11+</sup>            | 4102       | 人像相册。**系统接口**:此接口为系统接口。         |
5747| GROUP_PHOTO<sup>13+</sup>         | 4103       | 合影相册。**系统接口**:此接口为系统接口。         |
5748| HIGHLIGHT<sup>12+</sup>           | 4104       | 时刻相册。**系统接口**:此接口为系统接口。         |
5749| HIGHLIGHT_SUGGESTIONS<sup>12+</sup> | 4105     | 时刻建议相册。**系统接口**:此接口为系统接口。         |
5750| CLOUD_ENHANCEMENT<sup>13+</sup> | 1032     | AI云增强相册。**系统接口**:此接口为系统接口。         |
5751
5752## RequestPhotoType<sup>11+</sup>
5753
5754枚举,获取图片或视频缩略图的操作类型。
5755
5756**系统接口**:此接口为系统接口。
5757
5758**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
5759
5760| 名称  |  值 |  说明 |
5761| ----- |  ---- |  ---- |
5762| REQUEST_ALL_THUMBNAILS  |  0 |  即获取快速缩略图,又获取质量缩略图。 |
5763| REQUEST_FAST_THUMBNAIL |  1 |  只获取快速缩略图。 |
5764| REQUEST_QUALITY_THUMBNAIL |  2 |  只获取质量缩略图。 |
5765
5766## PhotoKeys
5767
5768枚举,图片和视频文件关键信息。
5769
5770**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
5771
5772| 名称          | 值              | 说明                                                       |
5773| ------------- | ------------------- | ---------------------------------------------------------- |
5774| POSITION  | 'position'            | 文件位置类型。**系统接口**:此接口为系统接口。                               |
5775| DATE_TRASHED  | 'date_trashed'  | 删除日期(删除文件时间距1970年1月1日的秒数值)。**系统接口**:此接口为系统接口。                 |
5776| HIDDEN  | 'hidden'            | 文件的隐藏状态。**系统接口**:此接口为系统接口。                               |
5777| CAMERA_SHOT_KEY  | 'camera_shot_key'  | 锁屏相机拍照或录像的标记字段(仅开放给系统相机,其key值由系统相机定义)。**系统接口**:此接口为系统接口。            |
5778| USER_COMMENT<sup>10+</sup>  | 'user_comment'            | 用户注释信息。**系统接口**:此接口为系统接口。           |
5779| DATE_YEAR<sup>11+</sup>  | 'date_year'            | 创建文件的年份。**系统接口**:此接口为系统接口。           |
5780| DATE_MONTH<sup>11+</sup>  | 'date_month'            | 创建文件的月份。**系统接口**:此接口为系统接口。           |
5781| DATE_DAY<sup>11+</sup>  | 'date_day'            | 创建文件的日期。**系统接口**:此接口为系统接口。           |
5782| PENDING<sup>11+</sup>  | 'pending'            | pending状态。**系统接口**:此接口为系统接口。           |
5783| DATE_TRASHED_MS<sup>12+</sup>  | 'date_trashed_ms'  | 删除日期(删除文件时间距1970年1月1日的毫秒数值)。**系统接口**:此接口为系统接口。<br>注意:查询照片时,不支持基于该字段排序。 |
5784| MOVING_PHOTO_EFFECT_MODE<sup>12+</sup>  | 'moving_photo_effect_mode' | 动态照片效果模式。**系统接口**:此接口为系统接口。 |
5785| CE_AVAILABLE<sup>13+</sup>  | 'ce_available' | 云增强任务标识。**系统接口**:此接口为系统接口。 |
5786
5787## HiddenPhotosDisplayMode<sup>11+</sup>
5788
5789枚举,系统中隐藏文件显示模式。
5790
5791**系统接口**:此接口为系统接口。
5792
5793**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
5794
5795| 名称          | 值              | 说明                                                       |
5796| ------------- | ------------------- | ---------------------------------------------------------- |
5797| ASSETS_MODE   | 0       | 按系统预置的隐藏相册显示隐藏文件,即显示系统中所有的隐藏文件。    |
5798| ALBUMS_MODE    | 1    | 按相册显示隐藏文件(即显示系统中所有包含隐藏文件的相册,除系统预置的隐藏相册本身和回收站相册以外)。  |
5799
5800## PhotoCreateOptions
5801
5802图片或视频的创建选项。
5803
5804**系统接口**:此接口为系统接口。
5805
5806**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
5807
5808| 名称                   | 类型                | 必填 | 说明                                              |
5809| ---------------------- | ------------------- | ---- | ------------------------------------------------ |
5810| subtype           | [PhotoSubtype](#photosubtype) | 否  | 图片或者视频的子类型。  |
5811| cameraShotKey           | string | 否  | 锁屏相机拍照或录像的标记字段(仅开放给系统相机,其key值由系统相机定义)。   |
5812
5813## RequestPhotoOptions<sup>11+</sup>
5814
5815获取图片或视频缩略图的选项。
5816
5817**系统接口**:此接口为系统接口。
5818
5819**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
5820
5821| 名称                   | 类型                | 必填 | 说明                                              |
5822| ---------------------- | ------------------- | ---- | ------------------------------------------------ |
5823| size           | [image.Size](../apis-image-kit/js-apis-image.md#size) | 否  | 获取缩略图的尺寸。  |
5824| requestPhotoType    | [RequestPhotoType](#requestphototype11) | 否  | 获取的操作类型。  |
5825
5826## RequestOptions<sup>11+</sup>
5827
5828请求策略。
5829
5830**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
5831
5832| 名称                   | 类型                              | 可读 | 可写 | 说明                                              |
5833| ---------------------- |---------------------------------| ---- |---- | ------------------------------------------------ |
5834| sourceMode           | [SourceMode](#sourcemode11)     | 是   | 是   | 资源文件的读取类型,可以指定当前请求获取的是源文件,或是编辑后的文件。**系统接口**:此接口为系统接口。 |
5835
5836## PhotoProxy<sup>11+</sup>
5837
5838照片代理,相机应用通过该对象写入图片数据。
5839
5840**系统接口**:此接口为系统接口。
5841
5842**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
5843
5844## MediaChangeRequest<sup>11+</sup>
5845
5846媒体变更请求,资产变更请求和相册变更请求的父类型。
5847
5848**注意**:媒体变更请求需要在调用[applyChanges](js-apis-photoAccessHelper.md#applychanges11)后才会提交生效。
5849
5850**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
5851
5852## FormInfo<sup>11+</sup>
5853
5854图库卡片相关信息。
5855
5856**系统接口**:此接口为系统接口。
5857
5858**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
5859
5860| 名称                   | 类型                | 必填 | 说明                                              |
5861| ---------------------- | ------------------- | ---- | ------------------------------------------------ |
5862|formId       |string  |是 | 卡片的ID,由图库创建卡片时提供。 |
5863|uri          |string  |是 | 卡片绑定的图片的uri。创建卡片时uri可为空或图片的uri,移除卡片时uri不做校验,传空即可。  |
5864
5865## ResourceType<sup>11+</sup>
5866
5867枚举,写入资源的类型。
5868
5869**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
5870
5871| 名称  |  值 |  说明 |
5872| ----- |  ---- |  ---- |
5873| PHOTO_PROXY |  3 |  表示照片代理资源。**系统接口**:此接口为系统接口。 |
5874| PRIVATE_MOVING_PHOTO_RESOURCE<sup>13+</sup> |  4 |  表示私有动态照片资源。**系统接口**:此接口为系统接口。 |
5875
5876## DefaultChangeUri
5877
5878枚举,DefaultChangeUri子类型。
5879
5880**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
5881
5882| 名称              | 值                      | 说明                                                         |
5883| ----------------- | ----------------------- | ------------------------------------------------------------ |
5884| DEFAULT_HIDDEN_ALBUM_URI<sup>11+</sup>  | 'file://media/HiddenAlbum' | 隐藏相册-相册视图中相册的Uri,即系统中包含隐藏文件的相册(不包含系统预置隐藏相册和回收站相册)的Uri,仅用于隐藏相册-相册视图场景的通知。**系统接口**:此接口为系统接口。 |
5885
5886## SourceMode<sup>11+</sup>
5887
5888枚举,资源文件的读取类型。
5889
5890**系统接口**:此接口为系统接口。
5891
5892**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
5893
5894| 名称  |  值 |  说明 |
5895| ----- |  ---- |  ---- |
5896| ORIGINAL_MODE |  0 |  读取源文件。 |
5897| EDITED_MODE |  1 |  读取编辑后的文件。|
5898## AuthorizationMode<sup>12+</sup>
5899
5900枚举,授权模式。
5901
5902**系统接口**:此接口为系统接口。
5903
5904**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
5905
5906| 名称  |  值 |  说明 |
5907| ----- |  ---- |  ---- |
5908| SHORT_TIME_AUTHORIZATION|  0 |  短时授权。 |
5909
5910## AnalysisType<sup>11+</sup>
5911
5912枚举,智慧分析类型。
5913
5914**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
5915
5916| 名称                            | 值  | 说明       |
5917| :---------------------------- | :- | :------- |
5918| ANALYSIS\_AESTHETICS\_SCORE   | 0  | 美学评分分析类别。**系统接口**:此接口为系统接口。    |
5919| ANALYSIS\_LABEL               | 1  | 分类标签分析类别。**系统接口**:此接口为系统接口。    |
5920| ANALYSIS\_OCR                 | 2  | 文字识别分析类别。**系统接口**:此接口为系统接口。    |
5921| ANALYSIS\_FACE                | 3  | 人脸检测分析类别。**系统接口**:此接口为系统接口。    |
5922| ANALYSIS\_OBJECT              | 4  | 目标检测分析类别。**系统接口**:此接口为系统接口。    |
5923| ANALYSIS\_RECOMMENDATION      | 5  | 推荐构图分析类别。**系统接口**:此接口为系统接口。    |
5924| ANALYSIS\_SEGMENTATION        | 6  | 抠图分析类别。**系统接口**:此接口为系统接口。    |
5925| ANALYSIS\_COMPOSITION         | 7  | 美学构图分析类别。**系统接口**:此接口为系统接口。   |
5926| ANALYSIS\_SALIENCY            | 8  | 最佳呈现主体中心分析类别。**系统接口**:此接口为系统接口。   |
5927| ANALYSIS\_DETAIL\_ADDRESS     | 9  | 详细地址分析类别。**系统接口**:此接口为系统接口。    |
5928| ANALYSIS\_HUMAN\_FACE\_TAG<sup>12+</sup>    | 10 | 人像聚类信息分析类别。**系统接口**:此接口为系统接口。    |
5929| ANALYSIS\_HEAD\_POSITION<sup>12+</sup>      | 11 | 人头、宠物头位置分析类别。**系统接口**:此接口为系统接口。    |
5930| ANALYSIS\_BONE\_POSE<sup>12+</sup>        | 12 | 人体骨骼点信息分析类别。**系统接口**:此接口为系统接口。    |
5931| ANALYSIS\_VIDEO\_LABEL<sup>12+</sup>        | 13 | 视频标签。**系统接口**:此接口为系统接口。    |
5932
5933## HighlightAlbumInfoType<sup>12+</sup>
5934
5935枚举,时刻相册信息类型。
5936
5937**系统接口**:此接口为系统接口。
5938
5939**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
5940
5941| 名称            | 值  | 说明       |
5942| :------------ | :- | :------- |
5943| COVER\_INFO   | 0  | 封面信息类别。    |
5944| PLAY\_INFO    | 1  | 音乐信息类别。    |
5945
5946## HighlightUserActionType<sup>12+</sup>
5947
5948枚举,时刻用户行为类型。
5949
5950**系统接口**:此接口为系统接口。
5951
5952**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
5953
5954| 名称                           | 值  | 说明       |
5955| :---------------------------- | :- | :------- |
5956| INSERTED\_PIC\_COUNT          | 0  | 新增图片数量类别。    |
5957| REMOVED\_PIC\_COUNT           | 1  | 移除图片数量类别。    |
5958| SHARED\_SCREENSHOT\_COUNT     | 2  | 分享二级界面长图次数类别。    |
5959| SHARED\_COVER\_COUNT          | 3  | 分享时刻封面次数类别。    |
5960| RENAMED\_COUNT                | 4  | 重命名次数类别。    |
5961| CHANGED\_COVER\_COUNT         | 5  | 修改封面次数类别。    |
5962| RENDER\_VIEWED\_TIMES         | 100  | 轮播观看次数类别。    |
5963| RENDER\_VIEWED\_DURATION      | 101  | 轮播观看总时长类别。   |
5964| ART\_LAYOUT\_VIEWED\_TIMES    | 102  | 二级界面观看次数类别。   |
5965| ART\_LAYOUT\_VIEWED\_DURATION | 103  | 二级界面观看总时长类别。    |
5966
5967## MovingPhotoEffectMode<sup>12+</sup>
5968
5969枚举,动态照片效果模式。
5970
5971**系统接口**:此接口为系统接口。
5972
5973**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
5974
5975| 名称                           | 值  | 说明       |
5976| :---------------------------- | :- | :------- |
5977| DEFAULT          | 0  | 默认模式。|
5978| BOUNCE\_PLAY     | 1  | 来回播放。|
5979| LOOP\_PLAY       | 2  | 循环播放。|
5980| LONG\_EXPOSURE   | 3  | 长曝光。  |
5981| MULTI\_EXPOSURE  | 4  | 多曝光。  |
5982| CINEMA\_GRAPH<sup>13+</sup>  | 5  | 微动瞬间。  |
5983| IMAGE\_ONLY<sup>13+</sup>  | 10  | 关闭模式。  |
5984
5985## PhotoPermissionType<sup>12+</sup>
5986
5987枚举,应用对媒体资源不同访问权限的类型。
5988
5989包括临时读权限和永久读权限,临时读权限会随着应用的死亡而删除,永久读权限不会。
5990
5991同一个应用对同一个媒体资源的权限覆盖规则:永久读会覆盖临时读,而临时读不会覆盖永久读。
5992
5993**系统接口**:此接口为系统接口。
5994
5995**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
5996
5997| 名称  |  值 |  说明 |
5998| ----- |  ---- |  ---- |
5999| TEMPORARY_READ_IMAGEVIDEO |  0 |  临时读权限类型。 |
6000| PERSISTENT_READ_IMAGEVIDEO |  1 |  永久读权限类型。 |
6001
6002## HideSensitiveType<sup>12+</sup>
6003
6004枚举,应用访问媒体资源时,对媒体资源进行信息脱敏的类型。
6005
6006**系统接口**:此接口为系统接口。
6007
6008**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
6009
6010| 名称  |  值 |  说明 |
6011| ----- |  ---- |  ---- |
6012| HIDE_LOCATION_AND_SHOOTING_PARAM |  0 |  脱敏地理位置和拍摄参数。 |
6013| HIDE_LOCATION_ONLY |  1 |  脱敏地理位置信息。 |
6014| HIDE_SHOOTING_PARAM_ONLY |  2 |  脱敏拍摄参数。 |
6015| NO_HIDE_SENSITIVE_TYPE |  3 |  不脱敏。 |
6016
6017## CloudEnhancementTaskStage<sup>13+</sup>
6018
6019枚举,应用查询云增强任务状态时,在[CloudEnhancementTaskState](#cloudenhancement13)接口中返回,表示云增强任务状态。
6020
6021**系统接口**:此接口为系统接口。
6022
6023**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
6024
6025| 名称  |  值 |  说明 |
6026| ----- |  ---- |  ---- |
6027| TASK_STAGE_EXCEPTION |  -1 |  云增强任务异常。 |
6028| TASK_STAGE_PREPARING |  0 |  云增强任务准备中。 |
6029| TASK_STAGE_UPLOADING |  1 |  云增强任务上传中。 |
6030| TASK_STAGE_EXECUTING |  2 |  云增强任务执行中。 |
6031| TASK_STAGE_DOWNLOADING |  3 |  云增强任务下载中。 |
6032| TASK_STAGE_FAILED |  4 |  云增强任务失败。 |
6033| TASK_STAGE_COMPLETED |  5 |  云增强任务已完成。 |
6034
6035## CloudEnhancementState<sup>13+</sup>
6036
6037枚举,表示云增强状态。
6038
6039**系统接口**:此接口为系统接口。
6040
6041**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
6042
6043| 名称  |  值 |  说明 |
6044| ----- |  ---- |  ---- |
6045| UNAVAILABLE |  0 |  云增强不可用。 |
6046| AVAILABLE |  1 |  云增强可用。 |
6047| EXECUTING |  2 |  云增强执行中。 |
6048| COMPLETED |  3 |  云增强已完成。 |
6049
6050## CloudEnhancementTaskState<sup>13+</sup>
6051
6052云增强任务状态,应用调用调用云增强任务查询接口的返回类型,包含云增强任务状态及部分状态下的额外信息。
6053
6054**系统接口**:此接口为系统接口。
6055
6056**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
6057
6058| 名称                   | 类型                | 必定提供 | 说明                                              |
6059| ---------------------- | ------------------- | ---- | ------------------------------------------------ |
6060|taskStage       |[CloudEnhancementTaskStage](#cloudenhancementtaskstage13)  |是 | 云增强任务状态。 |
6061|transferredFileSize          |number  |否 | 已传输的文件大小。当taskStage为CloudEnhancementTaskStage.TASK_STAGE_UPLOADING或者CloudEnhancementTaskStage.TASK_STAGE_DOWNLOADING时提供。  |
6062|totalFileSize          |number  |否 | 总文件大小。当taskStage为CloudEnhancementTaskStage.TASK_STAGE_UPLOADING或者CloudEnhancementTaskStage.TASK_STAGE_DOWNLOADING时提供。  |
6063|expectedDuration          |number  |否 | 排队时间。当taskStage为CloudEnhancementTaskStage.TASK_STAGE_EXECUTING时提供。  |
6064|statusCode          |number  |否 | 状态码。当taskStage为CloudEnhancementTaskStage.TASK_STAGE_FAILED时提供。  |
6065
6066## VideoEnhancementType<sup>13+</sup>
6067
6068枚举,分段式视频的二段式触发类型。
6069
6070**系统接口**:此接口为系统接口。
6071
6072**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
6073
6074| 名称  |  值 |  说明 |
6075| ----- |  ---- |  ---- |
6076| QUALITY_ENHANCEMENT_LOCAL |  0 |  在端侧增强处理。 |
6077| QUALITY_ENHANCEMENT_CLOUD |  1 |  在云侧增强处理。 |
6078| QUALITY_ENHANCEMENT_LOCAL_AND_CLOUD |  2 |  在端侧和云侧同时增强处理。 |