• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.filemanagement.userFileManager (用户数据管理)
2
3该模块提供用户数据管理能力,包括访问、修改用户等用户公共媒体数据信息等常用功能。
4
5> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
6> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
7> 本模块接口为系统接口。
8
9## 导入模块
10
11```ts
12import userFileManager from '@ohos.filemanagement.userFileManager';
13```
14
15## userFileManager.getUserFileMgr
16
17getUserFileMgr(context: Context): UserFileManager
18
19获取用户数据管理模块的实例,用于访问和修改用户等用户公共媒体数据信息(如音频、视频、图片、文档等)。
20
21**模型约束:** 此接口仅可在Stage模型下使用。
22
23**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
24
25**参数:**
26
27| 参数名  | 类型    | 必填 | 说明                       |
28| ------- | ------- | ---- | -------------------------- |
29| context | [Context](js-apis-inner-app-context.md) | 是   | 传入Ability实例的Context |
30
31**返回值:**
32
33| 类型                            | 说明    |
34| ----------------------------- | :---- |
35| [UserFileManager](#userfilemanager) | 媒体库实例 |
36
37**示例:**
38
39```ts
40//此处获取的userFileManager实例mgr为全局对象,后续使用到mgr的地方默认为使用此处获取的对象,如未添加此段代码报mgr未定义的错误请自行添加
41const context = getContext(this);
42let mgr = userFileManager.getUserFileMgr(context);
43```
44
45## UserFileManager
46
47### getPhotoAssets
48
49getPhotoAssets(options: FetchOptions, callback: AsyncCallback<FetchResult<FileAsset>>): void;
50
51
52获取图片和视频资源,使用callback方式返回结果。
53
54
55
56**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
57
58**需要权限**:ohos.permission.READ_IMAGEVIDEO
59
60**参数:**
61
62| 参数名   | 类型                     | 必填 | 说明                      |
63| -------- | ------------------------ | ---- | ------------------------- |
64| options  | [FetchOptions](#fetchoptions)        | 是   | 图片和视频检索选项              |
65| callback |  AsyncCallback<[FetchResult](#fetchresult)<[FileAsset](#fileasset)>> | 是   | callback 返回图片和视频检索结果集 |
66
67**示例:**
68
69```ts
70import dataSharePredicates from '@ohos.data.dataSharePredicates';
71
72async function example() {
73  console.info('getPhotoAssets');
74  let predicates = new dataSharePredicates.DataSharePredicates();
75  let fetchOptions = {
76    fetchColumns: [],
77    predicates: predicates
78  };
79
80  mgr.getPhotoAssets(fetchOptions, async (err, fetchResult) => {
81    if (fetchResult != undefined) {
82      console.info('fetchResult success');
83      let fileAsset = await fetchResult.getFirstObject();
84      if (fileAsset != undefined) {
85        console.info("fileAsset.displayName : " + fileAsset.displayName);
86      }
87    } else {
88      console.error('fetchResult fail' + err);
89    }
90  });
91}
92```
93
94
95### getPhotoAssets
96
97getPhotoAssets(options: FetchOptions): Promise<FetchResult<FileAsset>>;
98
99获取图片和视频资源,使用Promise方式返回结果。
100
101**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
102
103**需要权限**:ohos.permission.READ_IMAGEVIDEO
104
105**参数:**
106
107| 参数名  | 类型                | 必填 | 说明             |
108| ------- | ------------------- | ---- | ---------------- |
109| options | [FetchOptions](#fetchoptions)   | 是   | 图片和视频检索选项     |
110
111**返回值**
112
113| 类型                        | 说明           |
114| --------------------------- | -------------- |
115| Promise<[FetchResult](#fetchresult)<[FileAsset](#fileasset)>> | 图片和视频数据结果集 |
116
117**示例:**
118
119```ts
120import dataSharePredicates from '@ohos.data.dataSharePredicates';
121
122async function example() {
123  console.info('getPhotoAssets');
124  let predicates = new dataSharePredicates.DataSharePredicates();
125  let fetchOptions = {
126    fetchColumns: [],
127    predicates: predicates
128  };
129  try {
130    let fetchResult = await mgr.getPhotoAssets(fetchOptions);
131    if (fetchResult != undefined) {
132      console.info('fetchResult success');
133      let fileAsset = await fetchResult.getFirstObject();
134      if (fileAsset != undefined) {
135        console.info("fileAsset.displayName :" + fileAsset.displayName);
136      }
137    }
138  } catch (err) {
139    console.error('getPhotoAssets failed, message = ', err);
140  }
141}
142```
143### createPhotoAsset
144
145createPhotoAsset(displayName: string, albumUri: string, callback: AsyncCallback<FileAsset>): void;
146
147创建图片或视频资源,使用callback方式返回结果。
148
149**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
150
151**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
152
153**参数:**
154
155| 参数名   | 类型                     | 必填 | 说明                      |
156| -------- | ------------------------ | ---- | ------------------------- |
157| displayName  | string        | 是   | 创建的图片或者视频文件名              |
158| albumUri  | string        | 是   | 创建的图片或者视频所在相册的uri              |
159| callback |  AsyncCallback<[FileAsset](#fileasset)> | 是   | callback 返回创建的图片和视频结果 |
160
161**示例:**
162
163```ts
164import dataSharePredicates from '@ohos.data.dataSharePredicates';
165
166async function example() {
167  console.info('createPhotoAssetDemo');
168  let predicates = new dataSharePredicates.DataSharePredicates();
169  let fetchOptions = {
170    predicates: predicates
171  };
172  let albums = await mgr.getPhotoAlbums(fetchOptions);
173  let album = await albums.getFirstObject();
174  let testFileName = "testFile" + Date.now() + ".jpg";
175  mgr.createPhotoAsset(testFileName, album.albumUri, (err, fileAsset) => {
176    if (fileAsset != undefined) {
177      console.info('createPhotoAsset file displayName' + fileAsset.displayName);
178      console.info('createPhotoAsset successfully');
179    } else {
180      console.error('createPhotoAsset failed, message = ', err);
181    }
182  });
183}
184```
185
186### createPhotoAsset
187
188createPhotoAsset(displayName: string, callback: AsyncCallback<FileAsset>): void;
189
190创建图片或视频资源,使用callback方式返回结果。
191
192**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
193
194**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
195
196**参数:**
197
198| 参数名   | 类型                     | 必填 | 说明                      |
199| -------- | ------------------------ | ---- | ------------------------- |
200| displayName  | string        | 是   | 创建的图片或者视频文件名              |
201| callback |  AsyncCallback<[FileAsset](#fileasset)> | 是   | callback 返回创建的图片和视频结果 |
202
203**示例:**
204
205```ts
206async function example() {
207  console.info('createPhotoAssetDemo');
208  let testFileName = "testFile" + Date.now() + ".jpg";
209  mgr.createPhotoAsset(testFileName, (err, fileAsset) => {
210    if (fileAsset != undefined) {
211      console.info('createPhotoAsset file displayName' + fileAsset.displayName);
212      console.info('createPhotoAsset successfully');
213    } else {
214      console.error('createPhotoAsset failed, message = ', err);
215    }
216  });
217}
218```
219
220### createPhotoAsset
221
222createPhotoAsset(displayName: string, albumUri?: string): Promise<FileAsset>;
223
224创建图片或视频资源,使用Promise方式返回结果。
225
226**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
227
228**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
229
230**参数:**
231
232| 参数名   | 类型                     | 必填 | 说明                      |
233| -------- | ------------------------ | ---- | ------------------------- |
234| displayName  | string        | 是   | 创建的图片或者视频文件名              |
235| albumUri  | string        | 否   | 创建的图片或者视频所在相册的uri              |
236
237**返回值**
238
239| 类型                        | 说明           |
240| --------------------------- | -------------- |
241| Promise<[FileAsset](#fileasset)> | 返回创建的图片和视频结果 |
242
243**示例:**
244
245```ts
246async function example() {
247  console.info('createPhotoAssetDemo');
248  try {
249    let testFileName = "testFile" + Date.now() + ".jpg";
250    let fileAsset = await mgr.createPhotoAsset(testFileName);
251    console.info('createPhotoAsset file displayName' + fileAsset.displayName);
252    console.info('createPhotoAsset successfully');
253  } catch (err) {
254    console.error('createPhotoAsset failed, message = ', err);
255  }
256}
257```
258
259### getPhotoAlbums
260
261getPhotoAlbums(options: AlbumFetchOptions, callback: AsyncCallback<FetchResult<Album>>): void;
262
263
264获取相册,使用callback方式返回结果。
265
266**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
267
268**需要权限**:ohos.permission.READ_IMAGEVIDEO
269
270**参数:**
271
272| 参数名   | 类型                     | 必填 | 说明                      |
273| -------- | ------------------------ | ---- | ------------------------- |
274| options  | [AlbumFetchOptions](#albumfetchoptions)        | 是   | 相册检索选项              |
275| callback |  AsyncCallback<[FetchResult](#fetchresult)<[Album](#album)>> | 是   | callback 返回相册检索结果 |
276
277**示例:**
278
279```ts
280import dataSharePredicates from '@ohos.data.dataSharePredicates';
281
282async function example() {
283  console.info('getPhotoAlbumsDemo');
284  let predicates = new dataSharePredicates.DataSharePredicates();
285  let albumFetchOptions = {
286    predicates: predicates
287  };
288
289  mgr.getPhotoAlbums(albumFetchOptions, (err, fetchResult) => {
290    if (fetchResult != undefined) {
291      console.info('albums.count = ' + fetchResult.getCount());
292      fetchResult.getFirstObject((err, album) => {
293        if (album != undefined) {
294          console.info('first album.albumName = ' + album.albumName);
295        } else {
296          console.error('album is undefined, err = ', err);
297        }
298      });
299    } else {
300      console.error('getPhotoAlbums fail, message = ', err);
301    }
302  });
303}
304```
305
306### getPhotoAlbums
307
308getPhotoAlbums(options: AlbumFetchOptions): Promise<FetchResult<Album>>;
309
310获取相册,使用Promise方式返回结果。
311
312**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
313
314**需要权限**:ohos.permission.READ_IMAGEVIDEO
315
316**参数:**
317
318| 参数名   | 类型                     | 必填 | 说明                      |
319| -------- | ------------------------ | ---- | ------------------------- |
320| options  | [AlbumFetchOptions](#albumfetchoptions)        | 是   | 相册检索选项              |
321
322**返回值**
323
324| 类型                        | 说明           |
325| --------------------------- | -------------- |
326| Promise<[FetchResult](#fetchresult)<[Album](#album)>> | Promise 返回相册检索结果 |
327
328**示例:**
329
330```ts
331import dataSharePredicates from '@ohos.data.dataSharePredicates';
332
333async function example() {
334  console.info('getPhotoAlbumsDemo');
335  let predicates = new dataSharePredicates.DataSharePredicates();
336  let albumFetchOptions = {
337    predicates: predicates
338  };
339  try {
340    let fetchResult = await mgr.getPhotoAlbums(albumFetchOptions);
341    console.info('album.count = ' + fetchResult.getCount());
342    const album = await fetchResult.getFirstObject();
343    console.info('first album.albumName = ' + album.albumName);
344  } catch (err) {
345    console.error('getPhotoAlbums fail, message = ' + err);
346  }
347}
348```
349
350### getPrivateAlbum
351
352getPrivateAlbum(type: PrivateAlbumType, callback: AsyncCallback<FetchResult<PrivateAlbum>>): void;
353
354
355获取系统相册,使用 callback 方式返回系统相册的数组。
356
357**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
358
359**需要权限**:ohos.permission.READ_IMAGEVIDEO
360
361**参数:**
362
363| 参数名   | 类型                     | 必填 | 说明                      |
364| -------- | ------------------------ | ---- | ------------------------- |
365| type  | [PrivateAlbumType](#privatealbumtype)        | 是   | 系统相册类型              |
366| callback |  AsyncCallback<[FetchResult](#fetchresult)<[PrivateAlbum](#privatealbum)>> | 是   | callback 返回相册检索结果 |
367
368**示例:**
369
370```ts
371async function example() {
372  console.info('getPrivateAlbumDemo');
373  mgr.getPrivateAlbum(userFileManager.PrivateAlbumType.TYPE_TRASH, async (err, fetchResult) => {
374    if (fetchResult != undefined) {
375      let trashAlbum = await fetchResult.getFirstObject();
376      console.info('first album.albumName = ' + trashAlbum.albumName);
377    } else {
378      console.error('getPrivateAlbum failed. message = ', err);
379    }
380  });
381}
382```
383
384### getPrivateAlbum
385
386getPrivateAlbum(type: PrivateAlbumType): Promise<FetchResult<PrivateAlbum>>;
387
388
389获取系统相册,使用Promise方式返回结果。
390
391**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
392
393**需要权限**:ohos.permission.READ_IMAGEVIDEO
394
395**参数:**
396
397| 参数名   | 类型                     | 必填 | 说明                      |
398| -------- | ------------------------ | ---- | ------------------------- |
399| type  | [PrivateAlbumType](#privatealbumtype)        | 是   | 系统相册类型              |
400
401**返回值**
402
403| 类型                        | 说明           |
404| --------------------------- | -------------- |
405| Promise<[FetchResult](#fetchresult)<[PrivateAlbum](#privatealbum)>> | Promise 返回相册检索结果 |
406
407**示例:**
408
409```ts
410async function example() {
411  console.info('getPrivateAlbumDemo');
412  try {
413    let fetchResult = await mgr.getPrivateAlbum(userFileManager.PrivateAlbumType.TYPE_TRASH);
414    let trashAlbum = await fetchResult.getFirstObject();
415    console.info('first album.albumName = ' + trashAlbum.albumName);
416  } catch (err) {
417    console.error('getPrivateAlbum failed. message = ', err);
418  }
419}
420```
421
422### getAudioAssets
423
424getAudioAssets(options: FetchOptions, callback: AsyncCallback<FetchResult<FileAsset>>): void;
425
426
427获取音频文件,使用callback方式返回结果。
428
429**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
430
431**需要权限**:ohos.permission.READ_AUDIO
432
433**参数:**
434
435| 参数名   | 类型                     | 必填 | 说明                      |
436| -------- | ------------------------ | ---- | ------------------------- |
437| options  | [FetchOptions](#fetchoptions)        | 是   | 检索选项              |
438| callback |  AsyncCallback<[FetchResult](#fetchresult)<[FileAsset](#fileasset)>> | 是   | callback 返回音频检索结果 |
439
440**示例:**
441
442```ts
443import dataSharePredicates from '@ohos.data.dataSharePredicates';
444
445async function example() {
446  console.info('getAudioAssets');
447  let predicates = new dataSharePredicates.DataSharePredicates();
448  let fetchOptions = {
449    fetchColumns: [],
450    predicates: predicates
451  };
452
453  mgr.getAudioAssets(fetchOptions, async (err, fetchResult) => {
454    if (fetchResult != undefined) {
455      console.info('fetchFileResult success');
456      let fileAsset = await fetchResult.getFirstObject();
457      if (fileAsset != undefined) {
458        console.info("fileAsset.displayName :" + fileAsset.displayName);
459      }
460    } else {
461      console.error('fetchFileResult fail' + err);
462    }
463  });
464}
465```
466
467### getAudioAssets
468
469getAudioAssets(options: FetchOptions): Promise<FetchResult<FileAsset>>;
470
471
472获取音频文件,使用callback方式返回结果。
473
474**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
475
476**需要权限**:ohos.permission.READ_AUDIO
477
478**参数:**
479
480| 参数名   | 类型                     | 必填 | 说明                      |
481| -------- | ------------------------ | ---- | ------------------------- |
482| options  | [FetchOptions](#fetchoptions)        | 是   | 检索选项              |
483
484**返回值**
485
486| 类型                        | 说明           |
487| --------------------------- | -------------- |
488| Promise<[FetchResult](#fetchresult)<[FileAsset](#fileasset)>> | Promise 返回音频检索结果 |
489
490**示例:**
491
492```ts
493import dataSharePredicates from '@ohos.data.dataSharePredicates';
494
495async function example() {
496  console.info('getAudioAssets');
497  let predicates = new dataSharePredicates.DataSharePredicates();
498  let fetchOptions = {
499    fetchColumns: [],
500    predicates: predicates
501  };
502  try {
503    var fetchResult = await mgr.getAudioAssets(fetchOptions);
504  } catch (err) {
505    console.error('getAudioAssets failed, message = ', err);
506  }
507
508  if (fetchResult != undefined) {
509    console.info('fetchFileResult success');
510    let fileAsset = await fetchResult.getFirstObject();
511    if (fileAsset != undefined) {
512      console.info("fileAsset.displayName :" + fileAsset.displayName);
513    }
514  }
515}
516```
517### delete
518
519delete(uri: string, callback: AsyncCallback<void>): void;
520
521删除媒体文件,删除的文件进入到回收站。
522
523**需要权限**:ohos.permission.READ_IMAGEVIDEOohos.permission.WRITE_IMAGEVIDEOohos.permission.READ_AUDIOohos.permission.WRITE_AUDIO
524
525**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
526
527**参数**:
528
529| 参数名   | 类型                      | 必填 | 说明       |
530| -------- | ------------------------- | ---- | ---------- |
531| uri | string | 是   | 媒体文件uri |
532| callback | AsyncCallback<void> | 是   | 回调返回空 |
533
534**示例**:
535
536```ts
537import dataSharePredicates from '@ohos.data.dataSharePredicates';
538
539async function example() {
540  console.info('deleteAssetDemo');
541  let predicates = new dataSharePredicates.DataSharePredicates();
542  let fetchOptions = {
543    fetchColumns: [],
544    predicates: predicates
545  };
546  try {
547    const fetchResult = await mgr.getPhotoAssets(fetchOptions);
548    var asset = await fetchResult.getFirstObject();
549  } catch (err) {
550    console.info('fetch failed, message =', err);
551  }
552
553  if (asset == undefined) {
554    console.error('asset not exist');
555    return;
556  }
557  mgr.delete(asset.uri, (err) => {
558    if (err == undefined) {
559      console.info("delete successfully");
560    } else {
561      console.error("delete failed with error: " + err);
562    }
563  });
564}
565```
566### delete
567
568delete(uri: string): Promise<void>;
569
570删除媒体文件,删除的文件进入到回收站。
571
572**需要权限**:ohos.permission.READ_IMAGEVIDEOohos.permission.WRITE_IMAGEVIDEOohos.permission.READ_AUDIOohos.permission.WRITE_AUDIO
573
574**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
575
576**参数**:
577
578| 参数名   | 类型                      | 必填 | 说明       |
579| -------- | ------------------------- | ---- | ---------- |
580| uri | string | 是   | 媒体文件uri |
581
582**返回值**:
583
584| 类型                                    | 说明              |
585| --------------------------------------- | ----------------- |
586| Promise<void>| 回调返回空 |
587
588**示例**:
589
590```ts
591import dataSharePredicates from '@ohos.data.dataSharePredicates';
592
593async function example() {
594  console.info('deleteDemo');
595  let predicates = new dataSharePredicates.DataSharePredicates();
596  let fetchOptions = {
597    fetchColumns: [],
598    predicates: predicates
599  };
600  try {
601    const fetchResult = await mgr.getPhotoAssets(fetchOptions);
602    var asset = await fetchResult.getFirstObject();
603  } catch (err) {
604    console.info('fetch failed, message =', err);
605  }
606
607  if (asset == undefined) {
608    console.error('asset not exist');
609    return;
610  }
611  try {
612    await mgr.delete(asset.uri);
613    console.info("delete successfully");
614  } catch (err) {
615    console.error("delete failed with error: " + err);
616  }
617}
618```
619
620### on
621
622on(type: ChangeEvent, callback: Callback<void>): void
623
624打开文件管理库变更通知,使用callback方式返回异步结果。
625
626**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
627
628**参数:**
629
630| 参数名   | 类型                 | 必填 | 说明                                                         |
631| -------- | -------------------- | ---- | ------------------------------------------------------------ |
632| type     | [ChangeEvent](#changeevent)               | 是   | 媒体类型 <br/>'deviceChange':&nbsp;注册设备变更 <br/>'albumChange':&nbsp;相册变更<br/>'imageChange':&nbsp;图片文件变更<br/>'audioChange': &nbsp;音频文件变更<br/>'videoChange':  &nbsp;视频文件变更<br/>'remoteFileChange':&nbsp;注册设备上文件变更 |
633| callback | Callback&lt;void&gt; | 是   | 回调返回空                                                   |
634
635**示例:**
636
637```ts
638async function example() {
639  console.info('onDemo');
640  let count = 0;
641  mgr.on('imageChange', () => {
642    count++;
643    // image file had changed, do something
644  });
645  try {
646    let testFileName = "testFile" + Date.now() + ".jpg";
647    let fileAsset = await mgr.createPhotoAsset(testFileName);
648    console.info('createPhotoAsset file displayName' + fileAsset.displayName);
649    console.info('createPhotoAsset successfully');
650  } catch (err) {
651    console.error('createPhotoAsset failed, message = ' + err);
652  }
653  //sleep 1s
654  if (count > 0) {
655    console.info("onDemo success");
656  } else {
657    console.error("onDemo fail");
658  }
659  mgr.off('imageChange', () => {
660    // stop listening success
661  });
662}
663```
664
665### off
666
667off(type: ChangeEvent, callback?: Callback&lt;void&gt;): void
668
669关闭文件管理库变更通知,使用callback方式返回异步结果。
670
671**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
672
673**参数:**
674
675| 参数名   | 类型                 | 必填 | 说明                                                         |
676| -------- | -------------------- | ---- | ------------------------------------------------------------ |
677| type     | [ChangeEvent](#changeevent)               | 是   | 媒体类型 <br/>'deviceChange':&nbsp;注册设备变更 <br/>'albumChange':&nbsp;相册变更<br/>'imageChange':&nbsp;图片文件变更<br/>'audioChange': &nbsp;音频文件变更<br/>'videoChange':  &nbsp;视频文件变更<br/>'remoteFileChange':&nbsp;注册设备上文件变更 |
678| callback | Callback&lt;void&gt; | 否   | 回调返回空                                                   |
679
680**示例:**
681
682```ts
683async function example() {
684  console.info('offDemo');
685  let count = 0;
686  mgr.on('imageChange', () => {
687    count++;
688    // image file had changed, do something
689  });
690
691  mgr.off('imageChange', () => {
692    // stop listening success
693  });
694
695  try {
696    let testFileName = "testFile" + Date.now() + ".jpg";
697    let fileAsset = await mgr.createPhotoAsset(testFileName);
698    console.info('createPhotoAsset file displayName' + fileAsset.displayName);
699    console.info('createPhotoAsset successfully');
700  } catch (err) {
701    console.error('createPhotoAsset failed, message = ' + err);
702  }
703  //sleep 1s
704  if (count == 0) {
705    console.info("offDemo success");
706  } else {
707    console.error("offDemo fail");
708  }
709}
710```
711
712### getActivePeers
713
714getActivePeers(callback: AsyncCallback&lt;Array&lt;PeerInfo&gt;&gt;): void;
715
716获取在线对端设备的信息,使用callback方式返回异步结果。
717
718**系统能力**:SystemCapability.FileManagement.UserFileManager.DistributedCore
719
720**参数:**
721
722| 参数名   | 类型                              | 必填 | 说明         |
723| -------- | --------------------------------- | ---- | ------------ |
724| callback | AsyncCallback&lt;Array&lt;[PeerInfo](#peerinfo)&gt;&gt; | 是   | 返回在线设备列表 |
725
726**示例:**
727
728```ts
729async function example() {
730  console.info('getActivePeersDemo');
731  mgr.getActivePeers((err, devicesInfo) => {
732    if (devicesInfo != undefined) {
733      console.log('getActivePeers succeed.');
734      for (let i = 0; i < devicesInfo.length; i++) {
735        console.info('get distributed info ' + devicesInfo[i].deviceName + devicesInfo[i].networkId);
736      }
737    } else {
738      console.error('getActivePeers failed. message = ', err);
739    }
740  });
741}
742```
743
744### getActivePeers
745
746getActivePeers(): Promise&lt;Array&lt;PeerInfo&gt;&gt;;
747
748获取在线对端设备的信息,使用promise方式返回异步结果。
749
750**系统能力**:SystemCapability.FileManagement.UserFileManager.DistributedCore
751
752**返回值:**
753
754| 类型                        | 说明                          |
755| --------------------------- | ----------------------------- |
756| Promise&lt;Array&lt;[PeerInfo](#peerinfo)&gt;&gt; | Promise实例,返回在线设备列表 |
757
758**示例:**
759
760```ts
761async function example() {
762  console.info('getActivePeersDemo');
763  try {
764    var devicesInfo = await mgr.getActivePeers();
765  } catch (err) {
766    console.error('getActivePeers failed. message = ', err);
767  }
768  if (devicesInfo != undefined) {
769    console.log('getActivePeers succeed.');
770    for (let i = 0; i < devicesInfo.length; i++) {
771      console.info('get distributed info ' + devicesInfo[i].deviceName + devicesInfo[i].networkId);
772    }
773  } else {
774    console.error('get distributed fail');
775  }
776}
777```
778
779### getAllPeers
780
781getAllPeers(callback: AsyncCallback&lt;Array&lt;PeerInfo&gt;&gt;): void;
782
783获取所有对端设备的信息,使用callback方式返回异步结果。
784
785**系统能力**:SystemCapability.FileManagement.UserFileManager.DistributedCore
786
787**参数:**
788
789| 参数名   | 类型                              | 必填 | 说明         |
790| -------- | --------------------------------- | ---- | ------------ |
791| callback | AsyncCallback&lt;Array&lt;[PeerInfo](#peerinfo)&gt;&gt; | 是   | 返回在线设备列表 |
792
793**示例:**
794
795```ts
796async function example() {
797  console.info('getAllPeersDemo');
798  mgr.getAllPeers((err, devicesInfo) => {
799    if (devicesInfo != undefined) {
800      console.log('getAllPeers succeed.');
801      for (let i = 0; i < devicesInfo.length; i++) {
802        console.info('get distributed info ' + devicesInfo[i].deviceName + devicesInfo[i].networkId);
803      }
804    } else {
805      console.error('getAllPeers failed. message = ', err);
806    }
807  });
808}
809```
810
811### getAllPeers
812
813getAllPeers(): Promise&lt;Array&lt;PeerInfo&gt;&gt;;
814
815获取所有对端设备的信息,使用promise方式返回异步结果。
816
817**系统能力**:SystemCapability.FileManagement.UserFileManager.DistributedCore
818
819**返回值:**
820
821| 类型                        | 说明                          |
822| --------------------------- | ----------------------------- |
823| Promise&lt;Array&lt;[PeerInfo](#peerinfo)&gt;&gt; | Promise实例,返回所有设备列表 |
824
825**示例:**
826
827```ts
828async function example() {
829  console.info('getAllPeersDemo');
830  try {
831    var devicesInfo = await mgr.getAllPeers();
832  } catch (err) {
833    console.error('getAllPeers failed. message = ', err);
834  }
835  if (devicesInfo != undefined) {
836    console.log('getAllPeers succeed.');
837    for (let i = 0; i < devicesInfo.length; i++) {
838      console.info('get distributed info ' + devicesInfo[i].deviceName + devicesInfo[i].networkId);
839    }
840  } else {
841    console.error('get distributed fail');
842  }
843}
844```
845
846### release
847
848release(callback: AsyncCallback&lt;void&gt;): void
849
850释放UserFileManager实例。
851当后续不需要使用UserFileManager实例中的方法时调用。
852
853**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
854
855**参数:**
856
857| 参数名   | 类型                      | 必填 | 说明                 |
858| -------- | ------------------------- | ---- | -------------------- |
859| callback | AsyncCallback&lt;void&gt; | 是   | 回调表示成功还是失败 |
860
861**示例:**
862
863```ts
864async function example() {
865  console.info('releaseDemo');
866  mgr.release((err) => {
867    if (err != undefined) {
868      console.error('release failed. message = ', err);
869    } else {
870      console.info('release ok.');
871    }
872  });
873}
874```
875
876### release
877
878release(): Promise&lt;void&gt;
879
880释放UserFileManager实例。
881当后续不需要使用UserFileManager 实例中的方法时调用。
882
883**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
884
885**返回值:**
886
887| 类型                | 说明                              |
888| ------------------- | --------------------------------- |
889| Promise&lt;void&gt; | Promise实例,用于获取异步返回结果 |
890
891**示例:**
892
893```ts
894async function example() {
895  console.info('releaseDemo');
896  try {
897    await mgr.release();
898    console.info('release ok.');
899  } catch (err) {
900    console.error('release failed. message = ', err);
901  }
902}
903```
904
905## FileAsset
906
907提供封装文件属性的方法。
908
909### 属性
910
911**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
912
913| 名称                      | 类型                     | 可读 | 可写 | 说明                                                   |
914| ------------------------- | ------------------------ | ---- | ---- | ------------------------------------------------------ |
915| uri                       | string                   | 是   | 否   | 文件资源uri(如:dataability:///media/image/2)         |
916| fileType   | [FileType](#filetype) | 是   | 否   | 媒体文件类型                                               |
917| displayName               | string                   | 是   | 是   | 显示文件名,包含后缀名                                 |
918
919
920### get
921
922get(member: string): MemberType;
923
924获取FileAsset成员参数。
925
926**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
927
928**参数:**
929
930| 参数名      | 类型                        | 必填   | 说明    |
931| -------- | ------------------------- | ---- | ----- |
932| member | string | 是    | 成员参数名称例如:ImageVideoKey.URI |
933
934**示例:**
935
936```ts
937import dataSharePredicates from '@ohos.data.dataSharePredicates';
938
939async function example() {
940  console.info('fileAssetGetDemo');
941  try {
942    let predicates = new dataSharePredicates.DataSharePredicates();
943    let fetchOption = {
944      fetchColumns: [],
945      predicates: predicates
946    };
947    let fetchResult = await mgr.getPhotoAssets(fetchOption);
948    let fileAsset = await fetchResult.getFirstObject();
949    let title = userFileManager.ImageVideoKey.TITLE;
950    let fileAssetTitle = fileAsset.get(title.toString());
951    console.info('fileAsset Get fileAssetTitle = ', fileAssetTitle);
952  } catch (err) {
953    console.error('release failed. message = ', err);
954  }
955}
956```
957
958### set
959
960set(member: string, value: string): void;
961
962设置FileAsset成员参数。
963
964**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
965
966**参数:**
967
968| 参数名      | 类型                        | 必填   | 说明    |
969| -------- | ------------------------- | ---- | ----- |
970| member | string | 是    | 成员参数名称例如:ImageVideoKey.URI |
971| value | string | 是    | 设置成员参数名称,只能修改ImageVideoKey.TITLE的值 |
972
973**示例:**
974
975```ts
976import dataSharePredicates from '@ohos.data.dataSharePredicates';
977
978async function example() {
979  console.info('fileAssetSetDemo');
980  try {
981    let predicates = new dataSharePredicates.DataSharePredicates();
982    let fetchOption = {
983      fetchColumns: [],
984      predicates: predicates
985    };
986    let fetchResult = await mgr.getPhotoAssets(fetchOption);
987    let fileAsset = await fetchResult.getFirstObject();
988    let title = userFileManager.ImageVideoKey.TITLE;
989    fileAsset.set(title.toString(), "newTitle");
990  } catch (err) {
991    console.error('release failed. message = ', err);
992  }
993}
994```
995
996### commitModify
997
998commitModify(callback: AsyncCallback&lt;void&gt;): void
999
1000修改文件的元数据,使用callback方式返回异步结果。
1001
1002**需要权限**:ohos.permission.WRITE_IMAGEVIDEOohos.permission.WRITE_AUDIO
1003
1004**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
1005
1006**参数:**
1007
1008| 参数名      | 类型                        | 必填   | 说明    |
1009| -------- | ------------------------- | ---- | ----- |
1010| callback | AsyncCallback&lt;void&gt; | 是    | 回调返回空 |
1011
1012**示例:**
1013
1014```ts
1015import dataSharePredicates from '@ohos.data.dataSharePredicates';
1016
1017async function example() {
1018  console.info('commitModifyDemo');
1019  let predicates = new dataSharePredicates.DataSharePredicates();
1020  let fetchOption = {
1021    fetchColumns: [],
1022    predicates: predicates
1023  };
1024  let fetchResult = await mgr.getPhotoAssets(fetchOption);
1025  let fileAsset = await fetchResult.getFirstObject();
1026  let title = userFileManager.ImageVideoKey.TITLE;
1027  let fileAssetTitle = fileAsset.get(title.toString());
1028  console.info('fileAsset Get fileAssetTitle = ', fileAssetTitle);
1029  fileAsset.set(title.toString(), "newTitle");
1030  fileAsset.commitModify((err) => {
1031    if (err == undefined) {
1032      let newFileAssetTitle = fileAsset.get(title.toString());
1033      console.info('fileAsset Get newFileAssetTitle = ', newFileAssetTitle);
1034    } else {
1035      console.error('commitModify failed, message =', err);
1036    }
1037  });
1038}
1039```
1040
1041### commitModify
1042
1043commitModify(): Promise&lt;void&gt;
1044
1045修改文件的元数据,使用promise方式返回异步结果。
1046
1047**需要权限**:ohos.permission.WRITE_IMAGEVIDEOohos.permission.WRITE_AUDIO
1048
1049**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
1050
1051**返回值:**
1052
1053| 类型                  | 说明         |
1054| ------------------- | ---------- |
1055| Promise&lt;void&gt; | Promise返回空 |
1056
1057**示例:**
1058
1059```ts
1060import dataSharePredicates from '@ohos.data.dataSharePredicates';
1061
1062async function example() {
1063  console.info('commitModifyDemo');
1064  let predicates = new dataSharePredicates.DataSharePredicates();
1065  let fetchOption = {
1066    fetchColumns: [],
1067    predicates: predicates
1068  };
1069  let fetchResult = await mgr.getPhotoAssets(fetchOption);
1070  let fileAsset = await fetchResult.getFirstObject();
1071  let title = userFileManager.ImageVideoKey.TITLE;
1072  let fileAssetTitle = fileAsset.get(title.toString());
1073  console.info('fileAsset Get fileAssetTitle = ', fileAssetTitle);
1074  fileAsset.set(title.toString(), "newTitle");
1075  try {
1076    await fileAsset.commitModify();
1077    let newFileAssetTitle = fileAsset.get(title.toString());
1078    console.info('fileAsset Get newFileAssetTitle = ', newFileAssetTitle);
1079  } catch (err) {
1080    console.error('release failed. message = ', err);
1081  }
1082}
1083```
1084
1085### open
1086
1087open(mode: string, callback: AsyncCallback&lt;number&gt;): void
1088
1089打开当前文件,使用callback方式返回异步结果。
1090
1091**注意**:当前写操作是互斥的操作,写操作完成后需要调用close进行释放。
1092
1093**需要权限**:ohos.permission.READ_IMAGEVIDEOohos.permission.READ_AUDIOohos.permission.WRITE_IMAGEVIDEOohos.permission.WRITE_AUDIO
1094
1095
1096**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
1097
1098**参数**
1099
1100| 参数名      | 类型                          | 必填   | 说明                                  |
1101| -------- | --------------------------- | ---- | ----------------------------------- |
1102| mode     | string                      | 是    | 打开文件方式,如:'r'(只读), 'w'(只写), 'rw'(读写) |
1103| callback | AsyncCallback&lt;number&gt; | 是    | 回调返回文件描述符                            |
1104
1105**示例:**
1106
1107```ts
1108async function example() {
1109  console.info('openDemo');
1110   let testFileName = "testFile" + Date.now() + ".jpg";
1111  const fileAsset = await mgr.createPhotoAsset(testFileName);
1112  fileAsset.open('rw', (err, fd) => {
1113    if (fd != undefined) {
1114      console.info('File fd' + fd);
1115      fileAsset.close(fd);
1116    } else {
1117      console.error('File err' + err);
1118    }
1119  });
1120}
1121```
1122
1123### open
1124
1125open(mode: string): Promise&lt;number&gt;
1126
1127打开当前文件,使用promise方式返回异步结果。
1128
1129**注意**:当前写操作是互斥的操作,写操作完成后需要调用close进行释放。
1130
1131**需要权限**:ohos.permission.READ_IMAGEVIDEOohos.permission.READ_AUDIOohos.permission.WRITE_IMAGEVIDEOohos.permission.WRITE_AUDIO
1132
1133**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
1134
1135**参数:**
1136
1137| 参数名  | 类型     | 必填   | 说明                                  |
1138| ---- | ------ | ---- | ----------------------------------- |
1139| mode | string | 是    | 打开文件方式,如:'r'(只读), 'w'(只写), 'rw'(读写) |
1140
1141**返回值:**
1142
1143| 类型                    | 说明            |
1144| --------------------- | ------------- |
1145| Promise&lt;number&gt; | Promise返回文件描述符 |
1146
1147**示例:**
1148
1149```ts
1150async function example() {
1151  console.info('openDemo');
1152  try {
1153    let testFileName = "testFile" + Date.now() + ".jpg";
1154    const fileAsset = await mgr.createPhotoAsset(testFileName);
1155    let fd = await fileAsset.open('rw');
1156    if (fd != undefined) {
1157      console.info('File fd' + fd);
1158      fileAsset.close(fd);
1159    } else {
1160      console.error(' open File fail');
1161    }
1162  } catch (err) {
1163    console.error('open Demo err' + err);
1164  }
1165}
1166```
1167
1168### close
1169
1170close(fd: number, callback: AsyncCallback&lt;void&gt;): void
1171
1172关闭当前文件,使用callback方式返回异步结果。
1173
1174**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
1175
1176**参数:**
1177
1178| 参数名      | 类型                        | 必填   | 说明    |
1179| -------- | ------------------------- | ---- | ----- |
1180| fd       | number                    | 是    | 文件描述符 |
1181| callback | AsyncCallback&lt;void&gt; | 是    | 回调返回空 |
1182
1183**示例:**
1184
1185```ts
1186import dataSharePredicates from '@ohos.data.dataSharePredicates';
1187
1188async function example() {
1189  console.info('closeDemo');
1190  try {
1191    let predicates = new dataSharePredicates.DataSharePredicates();
1192    let fetchOption = {
1193      fetchColumns: [],
1194      predicates: predicates
1195    };
1196    let fetchResult = await mgr.getPhotoAssets(fetchOption);
1197    const fileAsset = await fetchResult.getFirstObject();
1198    let fd = await fileAsset.open('rw');
1199    console.info('file fd', fd);
1200    fileAsset.close(fd, (err) => {
1201      if (err == undefined) {
1202        console.info('asset close succeed.');
1203      } else {
1204        console.error('close failed, message = ' + err);
1205      }
1206    });
1207  } catch (err) {
1208    console.error('close failed, message = ' + err);
1209  }
1210}
1211```
1212
1213### close
1214
1215close(fd: number): Promise&lt;void&gt;
1216
1217关闭当前文件,使用promise方式返回异步结果。
1218
1219**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
1220
1221**参数:**
1222
1223| 参数名  | 类型     | 必填   | 说明    |
1224| ---- | ------ | ---- | ----- |
1225| fd   | number | 是    | 文件描述符 |
1226
1227**返回值:**
1228
1229| 类型                  | 说明         |
1230| ------------------- | ---------- |
1231| Promise&lt;void&gt; | Promise返回空 |
1232
1233**示例:**
1234
1235```ts
1236import dataSharePredicates from '@ohos.data.dataSharePredicates';
1237
1238async function example() {
1239  console.info('closeDemo');
1240  try {
1241    let predicates = new dataSharePredicates.DataSharePredicates();
1242    let fetchOption = {
1243      fetchColumns: [],
1244      predicates: predicates
1245    };
1246    let fetchResult = await mgr.getPhotoAssets(fetchOption);
1247    const asset = await fetchResult.getFirstObject();
1248    let fd = await asset.open('rw');
1249    console.info('file fd', fd);
1250    await asset.close(fd);
1251    console.info('asset close succeed.');
1252  } catch (err) {
1253    console.error('close failed, message = ' + err);
1254  }
1255}
1256```
1257
1258### getThumbnail
1259
1260getThumbnail(callback: AsyncCallback&lt;image.PixelMap&gt;): void
1261
1262获取文件的缩略图,使用callback方式返回异步结果。
1263
1264**需要权限**:ohos.permission.READ_IMAGEVIDEOohos.permission.READ_AUDIO
1265
1266**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
1267
1268**参数:**
1269
1270| 参数名      | 类型                                  | 必填   | 说明               |
1271| -------- | ----------------------------------- | ---- | ---------------- |
1272| callback | AsyncCallback&lt;[image.PixelMap](js-apis-image.md#pixelmap7)&gt; | 是    | 回调返回缩略图的PixelMap |
1273
1274**示例:**
1275
1276```ts
1277import dataSharePredicates from '@ohos.data.dataSharePredicates';
1278
1279async function example() {
1280  console.info('getThumbnailDemo');
1281  let predicates = new dataSharePredicates.DataSharePredicates();
1282  let fetchOption = {
1283    fetchColumns: [],
1284    predicates: predicates
1285  };
1286  let fetchResult = await mgr.getPhotoAssets(fetchOption);
1287  const asset = await fetchResult.getFirstObject();
1288  console.info('asset displayName = ', asset.displayName);
1289  asset.getThumbnail((err, pixelMap) => {
1290    if (err == undefined) {
1291      console.info('getThumbnail successful ' + pixelMap);
1292    } else {
1293      console.error('getThumbnail fail', err);
1294    }
1295  });
1296}
1297```
1298
1299### getThumbnail
1300
1301getThumbnail(size: image.Size, callback: AsyncCallback&lt;image.PixelMap&gt;): void
1302
1303获取文件的缩略图,传入缩略图尺寸,使用callback方式返回异步结果。
1304
1305**需要权限**:ohos.permission.READ_IMAGEVIDEOohos.permission.READ_AUDIO
1306
1307**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
1308
1309**参数:**
1310
1311| 参数名      | 类型                                  | 必填   | 说明               |
1312| -------- | ----------------------------------- | ---- | ---------------- |
1313| size     | [image.Size](js-apis-image.md#size) | 是    | 缩略图尺寸            |
1314| callback | AsyncCallback&lt;[image.PixelMap](js-apis-image.md#pixelmap7)&gt; | 是    | 回调返回缩略图的PixelMap |
1315
1316**示例:**
1317
1318```ts
1319import dataSharePredicates from '@ohos.data.dataSharePredicates';
1320
1321async function example() {
1322  console.info('getThumbnailDemo');
1323  let predicates = new dataSharePredicates.DataSharePredicates();
1324  let fetchOption = {
1325    fetchColumns: [],
1326    predicates: predicates
1327  };
1328  let size = { width: 720, height: 720 };
1329  let fetchResult = await mgr.getPhotoAssets(fetchOption);
1330  const asset = await fetchResult.getFirstObject();
1331  console.info('asset displayName = ', asset.displayName);
1332  asset.getThumbnail(size, (err, pixelMap) => {
1333    if (err == undefined) {
1334      console.info('getThumbnail successful ' + pixelMap);
1335    } else {
1336      console.error('getThumbnail fail', err);
1337    }
1338  });
1339}
1340```
1341
1342### getThumbnail
1343
1344getThumbnail(size?: image.Size): Promise&lt;image.PixelMap&gt;
1345
1346获取文件的缩略图,传入缩略图尺寸,使用promise方式返回异步结果。
1347
1348**需要权限**:ohos.permission.READ_IMAGEVIDEOohos.permission.READ_AUDIO
1349
1350**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
1351
1352**参数:**
1353
1354| 参数名  | 类型             | 必填   | 说明    |
1355| ---- | -------------- | ---- | ----- |
1356| size | [image.Size](js-apis-image.md#size) | 否    | 缩略图尺寸 |
1357
1358**返回值:**
1359
1360| 类型                            | 说明                    |
1361| ----------------------------- | --------------------- |
1362| Promise&lt;[image.PixelMap](js-apis-image.md#pixelmap7)&gt; | Promise返回缩略图的PixelMap |
1363
1364**示例:**
1365
1366```ts
1367import dataSharePredicates from '@ohos.data.dataSharePredicates';
1368
1369async function example() {
1370  console.info('getThumbnailDemo');
1371  let predicates = new dataSharePredicates.DataSharePredicates();
1372  let fetchOption = {
1373    fetchColumns: [],
1374    predicates: predicates
1375  };
1376  let size = { width: 720, height: 720 };
1377  let fetchResult = await mgr.getPhotoAssets(fetchOption);
1378  const asset = await fetchResult.getFirstObject();
1379  console.info('asset displayName = ', asset.displayName);
1380  asset.getThumbnail(size).then((pixelMap) => {
1381    console.info('getThumbnail successful ' + pixelMap);
1382  }).catch((err) => {
1383    console.error('getThumbnail fail' + err);
1384  });
1385}
1386```
1387
1388### favorite
1389
1390favorite(isFavorite: boolean, callback: AsyncCallback&lt;void&gt;): void
1391
1392将文件设置为收藏文件,使用callback方式返回异步结果。
1393
1394**需要权限**:ohos.permission.WRITE_IMAGEVIDEOohos.permission.WRITE_AUDIO
1395
1396**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
1397
1398**参数:**
1399
1400| 参数名        | 类型                        | 必填   | 说明                                 |
1401| ---------- | ------------------------- | ---- | ---------------------------------- |
1402| isFavorite | boolean                   | 是    | 是否设置为收藏文件, true:设置为收藏文件,false:取消收藏 |
1403| callback   | AsyncCallback&lt;void&gt; | 是    | 回调返回空                              |
1404
1405**示例:**
1406
1407```ts
1408import dataSharePredicates from '@ohos.data.dataSharePredicates';
1409
1410async function example() {
1411  console.info('favoriteDemo');
1412  let predicates = new dataSharePredicates.DataSharePredicates();
1413  let fetchOption = {
1414    fetchColumns: [],
1415    predicates: predicates
1416  };
1417  let fetchResult = await mgr.getPhotoAssets(fetchOption);
1418  const asset = await fetchResult.getFirstObject();
1419  asset.favorite(true, (err) => {
1420    if (err == undefined) {
1421      console.info("favorite successfully");
1422    } else {
1423      console.error("favorite failed with error:" + err);
1424    }
1425  });
1426}
1427```
1428
1429### favorite
1430
1431favorite(isFavorite: boolean): Promise&lt;void&gt;
1432
1433将文件设置为收藏文件,使用promise方式返回异步结果。
1434
1435**需要权限**:ohos.permission.WRITE_IMAGEVIDEOohos.permission.WRITE_AUDIO
1436
1437**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
1438
1439**参数:**
1440
1441| 参数名        | 类型      | 必填   | 说明                                 |
1442| ---------- | ------- | ---- | ---------------------------------- |
1443| isFavorite | boolean | 是    | 是否设置为收藏文件, true:设置为收藏文件,false:取消收藏 |
1444
1445**返回值:**
1446
1447| 类型                  | 说明         |
1448| ------------------- | ---------- |
1449| Promise&lt;void&gt; | Promise返回空 |
1450
1451**示例:**
1452
1453```ts
1454import dataSharePredicates from '@ohos.data.dataSharePredicates';
1455
1456async function example() {
1457  console.info('favoriteDemo');
1458  let predicates = new dataSharePredicates.DataSharePredicates();
1459  let fetchOption = {
1460    fetchColumns: [],
1461    predicates: predicates
1462  };
1463  let fetchResult = await mgr.getPhotoAssets(fetchOption);
1464  const asset = await fetchResult.getFirstObject();
1465  asset.favorite(true).then(function () {
1466    console.info("favorite successfully");
1467  }).catch(function (err) {
1468    console.error("favorite failed with error:" + err);
1469  });
1470}
1471```
1472
1473## FetchResult
1474
1475文件检索结果集。
1476
1477### getCount
1478
1479getCount(): number
1480
1481获取文件检索结果中的文件总数。
1482
1483**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
1484
1485**返回值**:
1486
1487| 类型     | 说明       |
1488| ------ | -------- |
1489| number | 检索到的文件总数 |
1490
1491**示例**:
1492
1493```ts
1494import dataSharePredicates from '@ohos.data.dataSharePredicates';
1495
1496async function example() {
1497  console.info('getCountDemo');
1498  let predicates = new dataSharePredicates.DataSharePredicates();
1499  let fetchOption = {
1500    fetchColumns: [],
1501    predicates: predicates
1502  };
1503  let fetchResult = await mgr.getPhotoAssets(fetchOption);
1504  const fetchCount = fetchResult.getCount();
1505  console.info('fetchCount = ', fetchCount);
1506}
1507```
1508
1509### isAfterLast
1510
1511isAfterLast(): boolean
1512
1513检查结果集是否指向最后一行。
1514
1515**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
1516
1517**返回值**:
1518
1519| 类型      | 说明                                 |
1520| ------- | ---------------------------------- |
1521| boolean | 当读到最后一条记录后,后续没有记录返回true,否则返回false。 |
1522
1523**示例**:
1524
1525```ts
1526import dataSharePredicates from '@ohos.data.dataSharePredicates';
1527
1528async function example() {
1529  let predicates = new dataSharePredicates.DataSharePredicates();
1530  let fetchOption = {
1531    fetchColumns: [],
1532    predicates: predicates
1533  };
1534  let fetchResult = await mgr.getPhotoAssets(fetchOption);
1535  const fetchCount = fetchResult.getCount();
1536  console.info('count:' + fetchCount);
1537  let fileAsset = await fetchResult.getLastObject();
1538  if (!fetchResult.isAfterLast()) {
1539    console.info('fileAsset isAfterLast displayName = ', fileAsset.displayName);
1540  } else {
1541    console.info('fileAsset  not isAfterLast ');
1542  }
1543}
1544```
1545
1546### close
1547
1548close(): void
1549
1550释放 FetchFileResult 实例并使其失效。无法调用其他方法。
1551
1552**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
1553
1554**示例**:
1555
1556```ts
1557import dataSharePredicates from '@ohos.data.dataSharePredicates';
1558
1559async function example() {
1560  console.info('fetchResultCloseDemo');
1561  let predicates = new dataSharePredicates.DataSharePredicates();
1562  let fetchOption = {
1563    fetchColumns: [],
1564    predicates: predicates
1565  };
1566  try {
1567    let fetchResult = await mgr.getPhotoAssets(fetchOption);
1568    await fetchResult.close();
1569    console.info('close succeed.');
1570  } catch (err) {
1571    console.error('close fail. message = ' + err);
1572  }
1573}
1574```
1575
1576### getFirstObject
1577
1578getFirstObject(callback: AsyncCallback&lt;T&gt;): void
1579
1580获取文件检索结果中的第一个文件资产。此方法使用callback形式返回结果。
1581
1582**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
1583
1584**参数**:
1585
1586| 参数名   | 类型                                          | 必填 | 说明                                        |
1587| -------- | --------------------------------------------- | ---- | ------------------------------------------- |
1588| callback | AsyncCallback&lt;T&gt; | 是   | 异步获取结果集中的第一个完成后的回调 |
1589
1590**示例**:
1591
1592```ts
1593import dataSharePredicates from '@ohos.data.dataSharePredicates';
1594
1595async function example() {
1596  console.info('getFirstObjectDemo');
1597  let predicates = new dataSharePredicates.DataSharePredicates();
1598  let fetchOption = {
1599    fetchColumns: [],
1600    predicates: predicates
1601  };
1602  let fetchResult = await mgr.getPhotoAssets(fetchOption);
1603  fetchResult.getFirstObject((err, fileAsset) => {
1604    if (fileAsset != undefined) {
1605      console.info('fileAsset displayName: ', fileAsset.displayName);
1606    } else {
1607      console.error("fileAsset failed with err:" + err);
1608    }
1609  });
1610}
1611```
1612
1613### getFirstObject
1614
1615getFirstObject(): Promise&lt;T&gt;
1616
1617获取文件检索结果中的第一个文件资产。此方法使用promise方式来异步返回。
1618
1619**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
1620
1621**返回值**:
1622
1623| 类型                                    | 说明                       |
1624| --------------------------------------- | -------------------------- |
1625| Promise&lt;T&gt; | Promise方式返回 |
1626
1627**示例**:
1628
1629```ts
1630import dataSharePredicates from '@ohos.data.dataSharePredicates';
1631
1632async function example() {
1633  console.info('getFirstObjectDemo');
1634  let predicates = new dataSharePredicates.DataSharePredicates();
1635  let fetchOption = {
1636    fetchColumns: [],
1637    predicates: predicates
1638  };
1639  let fetchResult = await mgr.getPhotoAssets(fetchOption);
1640  let fileAsset = await fetchResult.getFirstObject();
1641  console.info('fileAsset displayName: ', fileAsset.displayName);
1642}
1643```
1644
1645### getNextObject
1646
1647 getNextObject(callback: AsyncCallback&lt;T&gt;): void
1648
1649获取文件检索结果中的下一个文件资产。此方法使用callback形式返回结果。
1650
1651**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
1652
1653**参数**:
1654
1655| 参数名    | 类型                                          | 必填 | 说明                                      |
1656| --------- | --------------------------------------------- | ---- | ----------------------------------------- |
1657| callbacke | AsyncCallback&lt;T&gt; | 是   | 异步返回结果集中下一个之后的回调 |
1658
1659**示例**:
1660
1661```ts
1662import dataSharePredicates from '@ohos.data.dataSharePredicates';
1663
1664async function example() {
1665  console.info('getNextObjectDemo');
1666  let predicates = new dataSharePredicates.DataSharePredicates();
1667  let fetchOption = {
1668    fetchColumns: [],
1669    predicates: predicates
1670  };
1671  let fetchResult = await mgr.getPhotoAssets(fetchOption);
1672  await fetchResult.getFirstObject();
1673  if (fetchResult.isAfterLast()) {
1674    fetchResult.getNextObject((err, fileAsset) => {
1675      if (fileAsset != undefined) {
1676        console.info('fileAsset displayName: ', fileAsset.displayName);
1677      } else {
1678        console.error("fileAsset failed with err: " + err);
1679      }
1680    });
1681  }
1682}
1683```
1684
1685### getNextObject
1686
1687 getNextObject(): Promise&lt;T&gt;
1688
1689获取文件检索结果中的下一个文件资产。此方法使用promise方式来异步返回。
1690
1691**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
1692
1693**返回值**:
1694
1695| 类型                                    | 说明              |
1696| --------------------------------------- | ----------------- |
1697| Promise&lt;T&gt; | 返回结果集中下一个对象 |
1698
1699**示例**:
1700
1701```ts
1702import dataSharePredicates from '@ohos.data.dataSharePredicates';
1703
1704async function example() {
1705  console.info('getNextObjectDemo');
1706  let predicates = new dataSharePredicates.DataSharePredicates();
1707  let fetchOption = {
1708    fetchColumns: [],
1709    predicates: predicates
1710  };
1711  let fetchResult = await mgr.getPhotoAssets(fetchOption);
1712  await fetchResult.getFirstObject();
1713  if (fetchResult.isAfterLast()) {
1714    let fileAsset = await fetchResult.getNextObject();
1715    console.info('fileAsset displayName: ', fileAsset.displayName);
1716  }
1717}
1718```
1719
1720### getLastObject
1721
1722getLastObject(callback: AsyncCallback&lt;T&gt;): void
1723
1724获取文件检索结果中的最后一个文件资产。此方法使用callback回调来返回。
1725
1726**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
1727
1728**参数**:
1729
1730| 参数名   | 类型                                          | 必填 | 说明                        |
1731| -------- | --------------------------------------------- | ---- | --------------------------- |
1732| callback | AsyncCallback&lt;T&gt; | 是   | 异步返回结果集中最后一个的回调 |
1733
1734**示例**:
1735
1736```ts
1737import dataSharePredicates from '@ohos.data.dataSharePredicates';
1738
1739async function example() {
1740  console.info('getLastObjectDemo');
1741  let predicates = new dataSharePredicates.DataSharePredicates();
1742  let fetchOption = {
1743    fetchColumns: [],
1744    predicates: predicates
1745  };
1746  let fetchResult = await mgr.getPhotoAssets(fetchOption);
1747  fetchResult.getLastObject((err, fileAsset) => {
1748    if (fileAsset != undefined) {
1749      console.info('fileAsset displayName: ', fileAsset.displayName);
1750    } else {
1751      console.error("fileAsset failed with err: " + err);
1752    }
1753  });
1754}
1755```
1756
1757### getLastObject
1758
1759getLastObject(): Promise&lt;T&gt;
1760
1761获取文件检索结果中的最后一个文件资产。此方法使用Promise方式来返回。
1762
1763**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
1764
1765**返回值**:
1766
1767| 类型                                    | 说明              |
1768| --------------------------------------- | ----------------- |
1769| Promise&lt;T&gt; | 返回结果集中最后一个对象 |
1770
1771**示例**:
1772
1773```ts
1774import dataSharePredicates from '@ohos.data.dataSharePredicates';
1775
1776async function example() {
1777  console.info('getLastObjectDemo');
1778  let predicates = new dataSharePredicates.DataSharePredicates();
1779  let fetchOption = {
1780    fetchColumns: [],
1781    predicates: predicates
1782  };
1783  let fetchResult = await mgr.getPhotoAssets(fetchOption);
1784  let fileAsset = await fetchResult.getLastObject();
1785  console.info('fileAsset displayName: ', fileAsset.displayName);
1786}
1787```
1788
1789### getPositionObject
1790
1791getPositionObject(index: number, callback: AsyncCallback&lt;T&gt;): void
1792
1793获取文件检索结果中具有指定索引的文件资产。此方法使用callback来返回。
1794
1795**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
1796
1797**参数**:
1798
1799| 参数名       | 类型                                       | 必填   | 说明                 |
1800| -------- | ---------------------------------------- | ---- | ------------------ |
1801| index    | number                                   | 是    | 要获取的文件的索引,从0开始     |
1802| callback | AsyncCallback&lt;T&gt; | 是    | 异步返回指定索引的文件资产的回调 |
1803
1804**示例**:
1805
1806```ts
1807import dataSharePredicates from '@ohos.data.dataSharePredicates';
1808
1809async function example() {
1810  console.info('getPositionObjectDemo');
1811  let predicates = new dataSharePredicates.DataSharePredicates();
1812  let fetchOption = {
1813    fetchColumns: [],
1814    predicates: predicates
1815  };
1816  let fetchResult = await mgr.getPhotoAssets(fetchOption);
1817  fetchResult.getPositionObject(0, (err, fileAsset) => {
1818    if (fileAsset != undefined) {
1819      console.info('fileAsset displayName: ', fileAsset.displayName);
1820    } else {
1821      console.error("fileAsset failed with err: " + err);
1822    }
1823  });
1824}
1825```
1826
1827### getPositionObject
1828
1829getPositionObject(index: number): Promise&lt;T&gt;
1830
1831获取文件检索结果中具有指定索引的文件资产。此方法使用Promise形式返回文件Asset。
1832
1833**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
1834
1835**参数**:
1836
1837| 参数名    | 类型     | 必填   | 说明             |
1838| ----- | ------ | ---- | -------------- |
1839| index | number | 是    | 要获取的文件的索引,从0开始 |
1840
1841**返回值**:
1842
1843| 类型                                    | 说明              |
1844| --------------------------------------- | ----------------- |
1845| Promise&lt;T&gt; | 返回指定索引的文件资产的对象 |
1846
1847**示例**:
1848
1849```ts
1850import dataSharePredicates from '@ohos.data.dataSharePredicates';
1851
1852async function example() {
1853  console.info('getPositionObjectDemo');
1854  let predicates = new dataSharePredicates.DataSharePredicates();
1855  let fetchOption = {
1856    fetchColumns: [],
1857    predicates: predicates
1858  };
1859  let fetchResult = await mgr.getPhotoAssets(fetchOption);
1860  let fileAsset = await fetchResult.getPositionObject(0);
1861  console.info('fileAsset displayName: ', fileAsset.displayName);
1862}
1863```
1864
1865## Album
1866
1867实体相册
1868
1869### 属性
1870
1871**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
1872
1873| 名称           | 类型    | 可读   | 可写   | 说明      |
1874| ------------ | ------ | ---- | ---- | ------- |
1875| albumName | string | 是    | 是    | 相册名称    |
1876| albumUri | string | 是    | 否    | 相册Uri   |
1877| dateModified | number | 是    | 否    | 修改日期    |
1878| count | number | 是    | 否    | 相册中文件数量 |
1879| coverUri | string | 是    | 否    | 封面文件Uri
1880
1881### getPhotoAssets
1882
1883getPhotoAssets(options: FetchOptions, callback: AsyncCallback&lt;FetchResult&lt;FileAsset&gt;&gt;): void;
1884
1885获取相册中的文件。该方法使用callback形式来返回文件。
1886
1887**需要权限**:ohos.permission.READ_IMAGEVIDEO
1888
1889**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
1890
1891**参数**:
1892
1893| 参数名   | 类型                      | 必填 | 说明       |
1894| -------- | ------------------------- | ---- | ---------- |
1895| options | [FetchOptions](#fetchoptions) | 是   | 检索选项 |
1896| callback | AsyncCallback&lt;[FetchResult](#fetchresult)&lt;[FileAsset](#fileasset)&gt;&gt; | 是   | callback 返回图片和视频数据结果集|
1897
1898**示例**:
1899
1900```ts
1901import dataSharePredicates from '@ohos.data.dataSharePredicates';
1902
1903async function example() {
1904  console.info('albumGetFileAssetsDemoCallback');
1905
1906  let predicates = new dataSharePredicates.DataSharePredicates();
1907  let albumFetchOptions = {
1908    predicates: predicates
1909  };
1910  let fetchOption = {
1911    fetchColumns: [],
1912    predicates: predicates
1913  };
1914  const albumList = await mgr.getPhotoAlbums(albumFetchOptions);
1915  const album = await albumList.getFirstObject();
1916  album.getPhotoAssets(fetchOption, (err, albumFetchResult) => {
1917    if (albumFetchResult != undefined) {
1918      console.info("album getPhotoAssets successfully, getCount: " + albumFetchResult.getCount());
1919    } else {
1920      console.error("album getPhotoAssets failed with error: " + err);
1921    }
1922  });
1923}
1924```
1925### getPhotoAssets
1926
1927getPhotoAssets(options: FetchOptions): Promise&lt;FetchResult&lt;FileAsset&gt;&gt;;
1928
1929获取相册中的文件。该方法使用Promise来返回文件。
1930
1931**需要权限**:ohos.permission.READ_IMAGEVIDEO
1932
1933**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
1934
1935**参数**:
1936
1937| 参数名   | 类型                      | 必填 | 说明       |
1938| -------- | ------------------------- | ---- | ---------- |
1939| options | [FetchOptions](#fetchoptions) | 是   | 检索选项 |
1940| Promise | [FetchResult](#fetchresult)&lt;[FileAsset](#fileasset)&gt; | 是   | 图片和视频数据结果集 |
1941
1942**示例**:
1943
1944```ts
1945import dataSharePredicates from '@ohos.data.dataSharePredicates';
1946
1947async function example() {
1948  console.info('albumGetFileAssetsDemoPromise');
1949
1950  let predicates = new dataSharePredicates.DataSharePredicates();
1951  let albumFetchOptions = {
1952    predicates: predicates
1953  };
1954  let fetchOption = {
1955    fetchColumns: [],
1956    predicates: predicates
1957  };
1958  const albumList = await mgr.getPhotoAlbums(albumFetchOptions);
1959  const album = await albumList.getFirstObject();
1960  album.getPhotoAssets(fetchOption).then((albumFetchResult) => {
1961    console.info("album getFileAssets successfully, getCount: " + albumFetchResult.getCount());
1962  }).catch((err) => {
1963    console.error("album getFileAssets failed with error: " + err);
1964  });
1965}
1966```
1967
1968### commitModify
1969
1970commitModify(callback: AsyncCallback&lt;void&gt;): void;
1971
1972更新相册属性修改到数据库中。
1973
1974**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
1975
1976**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
1977
1978**参数**:
1979
1980| 参数名   | 类型                      | 必填 | 说明       |
1981| -------- | ------------------------- | ---- | ---------- |
1982| callback | AsyncCallback&lt;void&gt; | 是   | 回调返回空 |
1983
1984**示例**:
1985
1986```ts
1987import dataSharePredicates from '@ohos.data.dataSharePredicates';
1988
1989async function example() {
1990  console.info('albumCommitModifyDemo');
1991  let predicates = new dataSharePredicates.DataSharePredicates();
1992  let albumFetchOptions = {
1993    predicates: predicates
1994  };
1995  const albumList = await mgr.getPhotoAlbums(albumFetchOptions);
1996  const album = await albumList.getFirstObject();
1997  album.albumName = 'hello';
1998  album.commitModify((err) => {
1999    if (err != undefined) {
2000      console.error("commitModify failed with error: " + err);
2001    } else {
2002      console.info("commitModify successfully");
2003    }
2004  });
2005}
2006```
2007
2008### commitModify
2009
2010commitModify(): Promise&lt;void&gt;;
2011
2012更新相册属性修改到数据库中。
2013
2014**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
2015
2016**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
2017
2018**返回值**:
2019
2020| 类型                  | 说明           |
2021| ------------------- | ------------ |
2022| Promise&lt;void&gt; | Promise调用返回空 |
2023
2024**示例**:
2025
2026```ts
2027import dataSharePredicates from '@ohos.data.dataSharePredicates';
2028
2029async function example() {
2030  console.info('albumCommitModifyDemo');
2031  let predicates = new dataSharePredicates.DataSharePredicates();
2032  let albumFetchOptions = {
2033    predicates: predicates
2034  };
2035  try {
2036    var albumList = await mgr.getPhotoAlbums(albumFetchOptions);
2037  } catch (err) {
2038    console.error('getPhotoAlbums failed. message = ', err);
2039  }
2040  const album = await albumList.getFirstObject();
2041  album.albumName = 'hello';
2042  album.commitModify().then(() => {
2043    console.info("commitModify successfully");
2044  }).catch((err) => {
2045    console.error("commitModify failed with error: " + err);
2046  });
2047}
2048```
2049
2050## PrivateAlbum
2051
2052系统相册。
2053
2054### 属性
2055
2056**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
2057
2058| 名称           | 类型    | 可读   | 可写   | 说明      |
2059| ------------ | ------ | ---- | ---- | ------- |
2060| albumName | string | 是    | 是    | 相册名称    |
2061| albumUri | string | 是    | 否    | 相册Uri   |
2062| dateModified | number | 是    | 否    | 修改日期    |
2063| count | number | 是    | 否    | 相册中文件数量 |
2064| coverUri | string | 是    | 否    | 封面文件Uri
2065
2066### getPhotoAssets
2067
2068getPhotoAssets(options: FetchOptions, callback: AsyncCallback&lt;FetchResult&lt;FileAsset&gt;&gt;): void;
2069
2070获取系统相册中的文件。该方法使用callback形式来返回文件。
2071
2072**需要权限**:ohos.permission.READ_IMAGEVIDEO
2073
2074**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
2075
2076**参数**:
2077
2078| 参数名   | 类型                      | 必填 | 说明       |
2079| -------- | ------------------------- | ---- | ---------- |
2080| options | [FetchOptions](#fetchoptions) | 是   | 检索选项 |
2081| callback | AsyncCallback&lt;[FetchResult](#fetchresult)&lt;[FileAsset](#fileasset)&gt;&gt; | 是   | callback返回图片和视频数据结果集 |
2082
2083**示例**:
2084
2085```ts
2086import dataSharePredicates from '@ohos.data.dataSharePredicates';
2087
2088async function example() {
2089  console.info('privateAlbumGetFileAssetsDemoCallback');
2090  let albumList = await mgr.getPrivateAlbum(userFileManager.PrivateAlbumType.TYPE_TRASH);
2091  let predicates = new dataSharePredicates.DataSharePredicates();
2092  let fetchOption = {
2093    fetchColumns: [],
2094    predicates: predicates
2095  };
2096  const trashAlbum = await albumList.getFirstObject();
2097  trashAlbum.getPhotoAssets(fetchOption, (err, fetchResult) => {
2098    if (fetchResult != undefined) {
2099      let count = fetchResult.getCount();
2100      console.info('fetchResult.count = ', count);
2101    } else {
2102      console.error('getFileAssets failed, message = ', err);
2103    }
2104  });
2105}
2106
2107```
2108### getPhotoAssets
2109
2110getPhotoAssets(options: FetchOptions): Promise&lt;FetchResult&lt;FileAsset&gt;&gt;;
2111
2112获取系统相册中的文件。该方法使用Promise来返回文件。
2113
2114**需要权限**:ohos.permission.READ_IMAGEVIDEO
2115
2116**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
2117
2118**参数**:
2119
2120| 参数名   | 类型                      | 必填 | 说明       |
2121| -------- | ------------------------- | ---- | ---------- |
2122| options | [FetchOptions](#fetchoptions) | 是   | 检索选项 |
2123
2124**返回值**:
2125
2126| 类型                                    | 说明              |
2127| --------------------------------------- | ----------------- |
2128| Promise:[FetchResult](#fetchresult)&lt;[FileAsset](#fileasset)&gt;| 图片和视频数据结果集 |
2129
2130**示例**:
2131
2132```ts
2133import dataSharePredicates from '@ohos.data.dataSharePredicates';
2134
2135async function example() {
2136  console.info('privateAlbumGetFileAssetsDemoPromise');
2137  let albumList = await mgr.getPrivateAlbum(userFileManager.PrivateAlbumType.TYPE_TRASH);
2138  let predicates = new dataSharePredicates.DataSharePredicates();
2139  let fetchOption = {
2140    fetchColumns: [],
2141    predicates: predicates
2142  };
2143  const trashAlbum = await albumList.getFirstObject();
2144  let fetchResult = await trashAlbum.getPhotoAssets(fetchOption);
2145  let count = fetchResult.getCount();
2146  console.info('fetchResult.count = ', count);
2147}
2148```
2149### delete
2150
2151delete(uri: string, callback: AsyncCallback&lt;void&gt;): void;
2152
2153删除系统相册中的文件。
2154
2155**需要权限**:ohos.permission.READ_IMAGEVIDEOohos.permission.WRITE_IMAGEVIDEOohos.permission.READ_AUDIOohos.permission.WRITE_AUDIO
2156
2157**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
2158
2159**参数**:
2160
2161| 参数名   | 类型                      | 必填 | 说明       |
2162| -------- | ------------------------- | ---- | ---------- |
2163| uri | string | 是   | 相册uri |
2164| callback | AsyncCallback&lt;void&gt; | 是   | 回调返回空 |
2165
2166**示例**:
2167
2168```ts
2169import dataSharePredicates from '@ohos.data.dataSharePredicates';
2170
2171async function example() {
2172  console.info('privateAlbumDeleteCallback');
2173  let albumList = await mgr.getPrivateAlbum(userFileManager.PrivateAlbumType.TYPE_TRASH);
2174  let predicates = new dataSharePredicates.DataSharePredicates();
2175  let fetchOption = {
2176    fetchColumns: [],
2177    predicates: predicates
2178  };
2179  const trashAlbum = await albumList.getFirstObject();
2180  let fetchResult = await trashAlbum.getPhotoAssets(fetchOption);
2181  const fileAsset = await fetchResult.getFirstObject();
2182  let deleteFileUri = fileAsset.uri;
2183  trashAlbum.delete(deleteFileUri, (err) => {
2184    if (err != undefined) {
2185      console.error('trashAlbum.delete failed, message = ', err);
2186    } else {
2187      console.info('trashAlbum.delete successfully');
2188    }
2189  });
2190}
2191```
2192### delete
2193
2194delete(uri: string): Promise&lt;void&gt;;
2195
2196删除系统相册中的文件。
2197
2198**需要权限**:ohos.permission.READ_IMAGEVIDEOohos.permission.WRITE_IMAGEVIDEOohos.permission.READ_AUDIOohos.permission.WRITE_AUDIO
2199
2200**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
2201
2202**参数**:
2203
2204| 参数名   | 类型                      | 必填 | 说明       |
2205| -------- | ------------------------- | ---- | ---------- |
2206| uri | string | 是   | 相册uri |
2207
2208**返回值**:
2209
2210| 类型                                    | 说明              |
2211| --------------------------------------- | ----------------- |
2212| Promise&lt;void&gt;| 回调返回空 |
2213
2214**示例**:
2215
2216```ts
2217import dataSharePredicates from '@ohos.data.dataSharePredicates';
2218
2219async function example() {
2220  console.info('privateAlbumDeleteDemoPromise');
2221  let albumList = await mgr.getPrivateAlbum(userFileManager.PrivateAlbumType.TYPE_TRASH);
2222  let predicates = new dataSharePredicates.DataSharePredicates();
2223  let fetchOption = {
2224    fetchColumns: [],
2225    predicates: predicates
2226  };
2227  const trashAlbum = await albumList.getFirstObject();
2228  let fetchResult = await trashAlbum.getPhotoAssets(fetchOption);
2229  const fileAsset = await fetchResult.getFirstObject();
2230  let deleteFileUri = fileAsset.uri;
2231  trashAlbum.delete(deleteFileUri).then(() => {
2232    console.info('trashAlbum.delete successfully');
2233  }).catch((err) => {
2234    console.error('trashAlbum.delete failed, message = ', err);
2235  });
2236}
2237```
2238
2239### recover
2240
2241recover(uri: string, callback: AsyncCallback&lt;void&gt;): void;
2242
2243恢复系统相册中的文件。
2244
2245**需要权限**:ohos.permission.READ_IMAGEVIDEOohos.permission.WRITE_IMAGEVIDEOohos.permission.READ_AUDIOohos.permission.WRITE_AUDIO
2246
2247**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
2248
2249**参数**:
2250
2251| 参数名   | 类型                      | 必填 | 说明       |
2252| -------- | ------------------------- | ---- | ---------- |
2253| uri | string | 是   | 相册uri |
2254| callback | AsyncCallback&lt;void&gt; | 是   | 回调返回空 |
2255
2256**示例**:
2257
2258```ts
2259import dataSharePredicates from '@ohos.data.dataSharePredicates';
2260
2261async function example() {
2262  console.info('privateAlbumRecoverDemoCallback');
2263  let albumList = await mgr.getPrivateAlbum(userFileManager.PrivateAlbumType.TYPE_TRASH);
2264  let predicates = new dataSharePredicates.DataSharePredicates();
2265  let fetchOption = {
2266    fetchColumns: [],
2267    predicates: predicates
2268  };
2269  const trashAlbum = await albumList.getFirstObject();
2270  let fetchResult = await trashAlbum.getPhotoAssets(fetchOption);
2271  const fileAsset = await fetchResult.getFirstObject();
2272  let recoverFileUri = fileAsset.uri;
2273  trashAlbum.recover(recoverFileUri, (err) => {
2274    if (err != undefined) {
2275      console.error('trashAlbum.recover failed, message = ', err);
2276    } else {
2277      console.info('trashAlbum.recover successfully');
2278    }
2279  });
2280}
2281```
2282### recover
2283
2284recover(uri: string): Promise&lt;void&gt;;
2285
2286恢复系统相册中的文件。
2287
2288**需要权限**:ohos.permission.READ_IMAGEVIDEOohos.permission.WRITE_IMAGEVIDEOohos.permission.READ_AUDIOohos.permission.WRITE_AUDIO
2289
2290**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
2291
2292**参数**:
2293
2294| 参数名   | 类型                      | 必填 | 说明       |
2295| -------- | ------------------------- | ---- | ---------- |
2296| uri | string | 是   | 相册uri |
2297
2298**返回值**:
2299
2300| 类型                                    | 说明              |
2301| --------------------------------------- | ----------------- |
2302| Promise&lt;void&gt;| 回调返回空 |
2303
2304**示例**:
2305
2306```ts
2307import dataSharePredicates from '@ohos.data.dataSharePredicates';
2308
2309async function example() {
2310  console.info('privateAlbumRecoverDemoPromise');
2311  let albumList = await mgr.getPrivateAlbum(userFileManager.PrivateAlbumType.TYPE_TRASH);
2312  let predicates = new dataSharePredicates.DataSharePredicates();
2313  let fetchOption = {
2314    fetchColumns: [],
2315    predicates: predicates
2316  };
2317  const trashAlbum = await albumList.getFirstObject();
2318  let fetchResult = await trashAlbum.getPhotoAssets(fetchOption);
2319  const fileAsset = await fetchResult.getFirstObject();
2320  let recoverFileUri = fileAsset.uri;
2321  trashAlbum.recover(recoverFileUri).then(() => {
2322    console.info('trashAlbum.recover successfully');
2323  }).catch((err) => {
2324    console.error('trashAlbum.recover failed, message = ', err);
2325  });
2326}
2327```
2328
2329## MemberType
2330
2331成员类型。
2332
2333**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
2334
2335| 名称  |  类型 |  可读  |  可写  |  说明  |
2336| ----- |  ---- |  ---- |  ---- |  ---- |
2337| number |  number | 是 | 是 | number类型 |
2338| string |  string | 是 | 是 | string类型 |
2339| boolean |  boolean | 是 | 是 | boolean类型 |
2340
2341## ChangeEvent
2342
2343变更监听的媒体文件类型。
2344
2345**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
2346
2347| 名称  |  类型 |  可读  |  可写  |  说明 |
2348| ----- |  ---- |  ---- |  ---- |  ---- |
2349| deviceChange |  string | 是 | 是 |  设备 |
2350| albumChange |  string | 是 | 是 |  相册 |
2351| imageChange |  string | 是 | 是 |  图片 |
2352| audioChange |  string | 是 | 是 |  音频 |
2353| videoChange |  string | 是 | 是 |  视频 |
2354| remoteFileChange |  string | 是 | 是 |  远程文件 |
2355
2356## PeerInfo
2357
2358注册设备的信息。
2359
2360**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.DistributedCore
2361
2362| 名称       | 类型                       | 可读 | 可写 | 说明             |
2363| ---------- | -------------------------- | ---- | ---- | ---------------- |
2364| deviceName | string                     | 是   | 否   | 注册设备的名称   |
2365| networkId  | string                     | 是   | 否   | 注册设备的网络ID |
2366| isOnline   | boolean                    | 是   | 否   | 是否在线         |
2367
2368
2369## FileType
2370
2371枚举,媒体文件类型。
2372
2373**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
2374
2375| 名称  |  值 |  说明 |
2376| ----- |  ---- |  ---- |
2377| IMAGE |  1 |  图片 |
2378| VIDEO |  2 |  视频 |
2379| AUDIO |  3 |  音频 |
2380
2381## PrivateAlbumType
2382
2383枚举,系统相册类型。
2384
2385**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
2386
2387| 名称    |  值 |   说明   |
2388| -----   |  ----  |   ----  |
2389| TYPE_FAVORITE |  0 |  收藏夹相册 |
2390| TYPE_TRASH |  1 |  回收站相册 |
2391
2392
2393
2394## AudioKey
2395
2396枚举,音频文件关键信息。
2397
2398**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
2399
2400| 名称          |   值              | 说明                                                       |
2401| ------------- | ------------------- | ---------------------------------------------------------- |
2402| URI           | uri                 | 文件uri                                                   |
2403| DISPLAY_NAME  | display_name        | 显示名字                                                   |
2404| DATE_ADDED    | date_added          | 添加日期(添加文件时间到1970年1月1日的秒数值)             |
2405| DATE_MODIFIED | date_modified       | 修改日期(修改文件时间到1970年1月1日的秒数值,修改文件名不会改变此值,当文件内容发生修改时才会更新) |
2406| TITLE         | title               | 文件标题                                                   |
2407| ARTIST        | artist              | 作者                                                   |
2408| AUDIOALBUM    | audio_album         | 专辑                                                   |
2409| DURATION      | duration            | 持续时间(单位:毫秒)                                    |
2410| FAVORITE      | favorite            | 收藏                                                   |
2411
2412## ImageVideoKey
2413
2414枚举,图片和视频文件关键信息。
2415
2416**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
2417
2418| 名称          | 值              | 说明                                                       |
2419| ------------- | ------------------- | ---------------------------------------------------------- |
2420| URI           | uri                 | 文件uri                                                   |
2421| FILE_TYPE     | file_type           | 媒体文件类型                                              |
2422| DISPLAY_NAME  | display_name        | 显示名字                                                   |
2423| DATE_ADDED    | date_added          | 添加日期(添加文件时间到1970年1月1日的秒数值)             |
2424| DATE_MODIFIED | date_modified       | 修改日期(修改文件时间到1970年1月1日的秒数值,修改文件名不会改变此值,当文件内容发生修改时才会更新) |
2425| TITLE         | title               | 文件标题                                                   |
2426| DURATION      | duration            | 持续时间(单位:毫秒)                                    |
2427| WIDTH         | width               | 图片宽度(单位:像素)                                    |
2428| HEIGHT        | height              | 图片高度(单位:像素)                                      |
2429| DATE_TAKEN    | date_taken          | 拍摄日期(文件拍照时间到1970年1月1日的秒数值)                |
2430| ORIENTATION   | orientation         | 图片文件的方向                                             |
2431| FAVORITE      | favorite            | 收藏                                                    |
2432
2433## AlbumKey
2434
2435枚举,相册关键信息。
2436
2437**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
2438
2439| 名称          | 值              | 说明                                                       |
2440| ------------- | ------------------- | ---------------------------------------------------------- |
2441| URI           | uri                 | 相册uri                                                   |
2442| FILE_TYPE     | file_type           | 媒体文件类型                                              |
2443| ALBUM_NAME    | album_name          | 相册名字                                                   |
2444| DATE_ADDED    | date_added          | 添加日期(添加文件时间到1970年1月1日的秒数值)             |
2445| DATE_MODIFIED | date_modified       | 修改日期(修改文件时间到1970年1月1日的秒数值,修改文件名不会改变此值,当文件内容发生修改时才会更新) |
2446
2447
2448## FetchOptions
2449
2450检索条件。
2451
2452**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
2453
2454| 名称                   | 类型                | 可读 | 可写 | 说明                                              |
2455| ---------------------- | ------------------- | ---- |---- | ------------------------------------------------ |
2456| fetchColumns           | Array&lt;string&gt; | 是   | 是   | 检索条件,指定列名查询,如果该参数为空时默认查询uri、name、fileType。示例:<br />fetchColumns: "uri"|
2457| predicates           | [dataSharePredicates.DataSharePredicates](js-apis-data-dataSharePredicates.md) | 是   | 是   | 谓词查询,显示过滤条件 |
2458
2459## AlbumFetchOptions
2460
2461相册检索条件。
2462
2463**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
2464
2465| 名称                   | 类型                | 可读 | 可写 | 说明                                              |
2466| ---------------------- | ------------------- | ---- |---- | ------------------------------------------------ |
2467| predicates           | [dataSharePredicates.DataSharePredicates](js-apis-data-dataSharePredicates.md) | 是   | 是   | 谓词查询,显示过滤条件 |
2468
2469