1e41f4b71Sopenharmony_ci# @ohos.filemanagement.userFileManager (用户数据管理)(系统接口)
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ci该模块提供用户数据管理能力,包括访问、修改用户公共媒体数据信息等常用功能。
4e41f4b71Sopenharmony_ci
5e41f4b71Sopenharmony_ci> **说明:**
6e41f4b71Sopenharmony_ci>
7e41f4b71Sopenharmony_ci> - 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8e41f4b71Sopenharmony_ci> - 本模块为系统接口。
9e41f4b71Sopenharmony_ci
10e41f4b71Sopenharmony_ci## 导入模块
11e41f4b71Sopenharmony_ci
12e41f4b71Sopenharmony_ci```ts
13e41f4b71Sopenharmony_ciimport userFileManager from '@ohos.filemanagement.userFileManager';
14e41f4b71Sopenharmony_ci```
15e41f4b71Sopenharmony_ci
16e41f4b71Sopenharmony_ci## userFileManager.getUserFileMgr
17e41f4b71Sopenharmony_ci
18e41f4b71Sopenharmony_cigetUserFileMgr(context: Context): UserFileManager
19e41f4b71Sopenharmony_ci
20e41f4b71Sopenharmony_ci获取用户数据管理模块的实例,用于访问和修改用户公共媒体数据信息(如音频、视频、图片、文档等)。
21e41f4b71Sopenharmony_ci
22e41f4b71Sopenharmony_ci**模型约束**: 此接口仅可在Stage模型下使用。
23e41f4b71Sopenharmony_ci
24e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
25e41f4b71Sopenharmony_ci
26e41f4b71Sopenharmony_ci**参数:**
27e41f4b71Sopenharmony_ci
28e41f4b71Sopenharmony_ci| 参数名  | 类型    | 必填 | 说明                       |
29e41f4b71Sopenharmony_ci| ------- | ------- | ---- | -------------------------- |
30e41f4b71Sopenharmony_ci| context | [Context](../apis-ability-kit/js-apis-inner-app-context.md) | 是   | 传入Ability实例的Context。 |
31e41f4b71Sopenharmony_ci
32e41f4b71Sopenharmony_ci**返回值:**
33e41f4b71Sopenharmony_ci
34e41f4b71Sopenharmony_ci| 类型                            | 说明    |
35e41f4b71Sopenharmony_ci| ----------------------------- | :---- |
36e41f4b71Sopenharmony_ci| [UserFileManager](#userfilemanager) | 媒体库实例。 |
37e41f4b71Sopenharmony_ci
38e41f4b71Sopenharmony_ci**示例:**
39e41f4b71Sopenharmony_ci
40e41f4b71Sopenharmony_ci```ts
41e41f4b71Sopenharmony_ci//此处获取的userFileManager实例mgr为全局对象,后续使用到mgr的地方默认为使用此处获取的对象,如未添加此段代码报mgr未定义的错误请自行添加
42e41f4b71Sopenharmony_ciconst context = getContext(this);
43e41f4b71Sopenharmony_cilet mgr = userFileManager.getUserFileMgr(context);
44e41f4b71Sopenharmony_ci```
45e41f4b71Sopenharmony_ci
46e41f4b71Sopenharmony_ci## UserFileManager
47e41f4b71Sopenharmony_ci
48e41f4b71Sopenharmony_ci### getPhotoAssets
49e41f4b71Sopenharmony_ci
50e41f4b71Sopenharmony_cigetPhotoAssets(options: FetchOptions, callback: AsyncCallback<FetchResult<FileAsset>>): void;
51e41f4b71Sopenharmony_ci
52e41f4b71Sopenharmony_ci获取图片和视频资源,使用callback方式返回结果。
53e41f4b71Sopenharmony_ci
54e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
55e41f4b71Sopenharmony_ci
56e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.READ_IMAGEVIDEO
57e41f4b71Sopenharmony_ci
58e41f4b71Sopenharmony_ci**参数:**
59e41f4b71Sopenharmony_ci
60e41f4b71Sopenharmony_ci| 参数名   | 类型                     | 必填 | 说明                      |
61e41f4b71Sopenharmony_ci| -------- | ------------------------ | ---- | ------------------------- |
62e41f4b71Sopenharmony_ci| options  | [FetchOptions](#fetchoptions)        | 是   | 图片和视频检索选项。              |
63e41f4b71Sopenharmony_ci| callback |  AsyncCallback<[FetchResult](#fetchresult)<[FileAsset](#fileasset)>> | 是   | callback返回图片和视频检索结果集。 |
64e41f4b71Sopenharmony_ci
65e41f4b71Sopenharmony_ci**错误码:**
66e41f4b71Sopenharmony_ci
67e41f4b71Sopenharmony_ci接口抛出错误码的详细介绍请参见[文件管理错误码](errorcode-filemanagement.md)。
68e41f4b71Sopenharmony_ci
69e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
70e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- |
71e41f4b71Sopenharmony_ci| 13900020   | if type options is not FetchOptions.         |
72e41f4b71Sopenharmony_ci
73e41f4b71Sopenharmony_ci**示例:**
74e41f4b71Sopenharmony_ci
75e41f4b71Sopenharmony_ci```ts
76e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
77e41f4b71Sopenharmony_ci
78e41f4b71Sopenharmony_ciasync function example() {
79e41f4b71Sopenharmony_ci  console.info('getPhotoAssets');
80e41f4b71Sopenharmony_ci  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
81e41f4b71Sopenharmony_ci  let fetchOptions: userFileManager.FetchOptions = {
82e41f4b71Sopenharmony_ci    fetchColumns: [],
83e41f4b71Sopenharmony_ci    predicates: predicates
84e41f4b71Sopenharmony_ci  };
85e41f4b71Sopenharmony_ci
86e41f4b71Sopenharmony_ci  mgr.getPhotoAssets(fetchOptions, async (err, fetchResult) => {
87e41f4b71Sopenharmony_ci    if (fetchResult != undefined) {
88e41f4b71Sopenharmony_ci      console.info('fetchResult success');
89e41f4b71Sopenharmony_ci      let fileAsset: userFileManager.FileAsset = await fetchResult.getFirstObject();
90e41f4b71Sopenharmony_ci      if (fileAsset != undefined) {
91e41f4b71Sopenharmony_ci        console.info('fileAsset.displayName : ' + fileAsset.displayName);
92e41f4b71Sopenharmony_ci      }
93e41f4b71Sopenharmony_ci    } else {
94e41f4b71Sopenharmony_ci      console.error('fetchResult fail' + err);
95e41f4b71Sopenharmony_ci    }
96e41f4b71Sopenharmony_ci  });
97e41f4b71Sopenharmony_ci}
98e41f4b71Sopenharmony_ci```
99e41f4b71Sopenharmony_ci
100e41f4b71Sopenharmony_ci### getPhotoAssets
101e41f4b71Sopenharmony_ci
102e41f4b71Sopenharmony_cigetPhotoAssets(options: FetchOptions): Promise<FetchResult<FileAsset>>;
103e41f4b71Sopenharmony_ci
104e41f4b71Sopenharmony_ci获取图片和视频资源,使用Promise方式返回结果。
105e41f4b71Sopenharmony_ci
106e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
107e41f4b71Sopenharmony_ci
108e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.READ_IMAGEVIDEO
109e41f4b71Sopenharmony_ci
110e41f4b71Sopenharmony_ci**参数:**
111e41f4b71Sopenharmony_ci
112e41f4b71Sopenharmony_ci| 参数名  | 类型                | 必填 | 说明             |
113e41f4b71Sopenharmony_ci| ------- | ------------------- | ---- | ---------------- |
114e41f4b71Sopenharmony_ci| options | [FetchOptions](#fetchoptions)   | 是   | 图片和视频检索选项。     |
115e41f4b71Sopenharmony_ci
116e41f4b71Sopenharmony_ci**返回值:**
117e41f4b71Sopenharmony_ci
118e41f4b71Sopenharmony_ci| 类型                        | 说明           |
119e41f4b71Sopenharmony_ci| --------------------------- | -------------- |
120e41f4b71Sopenharmony_ci| Promise<[FetchResult](#fetchresult)<[FileAsset](#fileasset)>> | Promise对象,返回图片和视频数据结果集。 |
121e41f4b71Sopenharmony_ci
122e41f4b71Sopenharmony_ci**错误码:**
123e41f4b71Sopenharmony_ci
124e41f4b71Sopenharmony_ci接口抛出错误码的详细介绍请参见[文件管理错误码](errorcode-filemanagement.md)。
125e41f4b71Sopenharmony_ci
126e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
127e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- |
128e41f4b71Sopenharmony_ci| 13900020   | if type options is not FetchOptions.         |
129e41f4b71Sopenharmony_ci
130e41f4b71Sopenharmony_ci**示例:**
131e41f4b71Sopenharmony_ci
132e41f4b71Sopenharmony_ci```ts
133e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
134e41f4b71Sopenharmony_ci
135e41f4b71Sopenharmony_ciasync function example() {
136e41f4b71Sopenharmony_ci  console.info('getPhotoAssets');
137e41f4b71Sopenharmony_ci  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
138e41f4b71Sopenharmony_ci  let fetchOptions: userFileManager.FetchOptions = {
139e41f4b71Sopenharmony_ci    fetchColumns: [],
140e41f4b71Sopenharmony_ci    predicates: predicates
141e41f4b71Sopenharmony_ci  };
142e41f4b71Sopenharmony_ci  try {
143e41f4b71Sopenharmony_ci    let fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await mgr.getPhotoAssets(fetchOptions);
144e41f4b71Sopenharmony_ci    if (fetchResult != undefined) {
145e41f4b71Sopenharmony_ci      console.info('fetchResult success');
146e41f4b71Sopenharmony_ci      let fileAsset: userFileManager.FileAsset = await fetchResult.getFirstObject();
147e41f4b71Sopenharmony_ci      if (fileAsset != undefined) {
148e41f4b71Sopenharmony_ci        console.info('fileAsset.displayName :' + fileAsset.displayName);
149e41f4b71Sopenharmony_ci      }
150e41f4b71Sopenharmony_ci    }
151e41f4b71Sopenharmony_ci  } catch (err) {
152e41f4b71Sopenharmony_ci    console.error('getPhotoAssets failed, message = ', err);
153e41f4b71Sopenharmony_ci  }
154e41f4b71Sopenharmony_ci}
155e41f4b71Sopenharmony_ci```
156e41f4b71Sopenharmony_ci### createPhotoAsset
157e41f4b71Sopenharmony_ci
158e41f4b71Sopenharmony_cicreatePhotoAsset(displayName: string, albumUri: string, callback: AsyncCallback&lt;FileAsset&gt;): void;
159e41f4b71Sopenharmony_ci
160e41f4b71Sopenharmony_ci指定待创建的图片或者视频的文件名和所在相册的uri,创建图片或视频资源,使用callback方式返回结果。
161e41f4b71Sopenharmony_ci
162e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
163e41f4b71Sopenharmony_ci
164e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
165e41f4b71Sopenharmony_ci
166e41f4b71Sopenharmony_ci**参数:**
167e41f4b71Sopenharmony_ci
168e41f4b71Sopenharmony_ci| 参数名   | 类型                     | 必填 | 说明                      |
169e41f4b71Sopenharmony_ci| -------- | ------------------------ | ---- | ------------------------- |
170e41f4b71Sopenharmony_ci| displayName  | string        | 是   | 创建的图片或者视频文件名。              |
171e41f4b71Sopenharmony_ci| albumUri  | string        | 是   | 创建的图片或者视频所在相册的uri。              |
172e41f4b71Sopenharmony_ci| callback |  AsyncCallback&lt;[FileAsset](#fileasset)&gt; | 是   | callback返回创建的图片和视频结果。 |
173e41f4b71Sopenharmony_ci
174e41f4b71Sopenharmony_ci**错误码:**
175e41f4b71Sopenharmony_ci
176e41f4b71Sopenharmony_ci接口抛出错误码的详细介绍请参见[文件管理错误码](errorcode-filemanagement.md)。
177e41f4b71Sopenharmony_ci
178e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
179e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- |
180e41f4b71Sopenharmony_ci| 13900020   | if type displayName or albumUri is not string.         |
181e41f4b71Sopenharmony_ci| 14000001   | if type displayName invalid.         |
182e41f4b71Sopenharmony_ci
183e41f4b71Sopenharmony_ci**示例:**
184e41f4b71Sopenharmony_ci
185e41f4b71Sopenharmony_ci```ts
186e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
187e41f4b71Sopenharmony_ci
188e41f4b71Sopenharmony_ciasync function example() {
189e41f4b71Sopenharmony_ci  console.info('createPhotoAssetDemo');
190e41f4b71Sopenharmony_ci  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
191e41f4b71Sopenharmony_ci  let fetchOptions: userFileManager.AlbumFetchOptions = {
192e41f4b71Sopenharmony_ci    predicates: predicates
193e41f4b71Sopenharmony_ci  };
194e41f4b71Sopenharmony_ci  let albums: userFileManager.FetchResult<userFileManager.Album> = await mgr.getPhotoAlbums(fetchOptions);
195e41f4b71Sopenharmony_ci  let album: userFileManager.Album = await albums.getFirstObject();
196e41f4b71Sopenharmony_ci  let testFileName: string = 'testFile' + Date.now() + '.jpg';
197e41f4b71Sopenharmony_ci  mgr.createPhotoAsset(testFileName, album.albumUri, (err, fileAsset) => {
198e41f4b71Sopenharmony_ci    if (fileAsset != undefined) {
199e41f4b71Sopenharmony_ci      console.info('createPhotoAsset file displayName' + fileAsset.displayName);
200e41f4b71Sopenharmony_ci      console.info('createPhotoAsset successfully');
201e41f4b71Sopenharmony_ci    } else {
202e41f4b71Sopenharmony_ci      console.error('createPhotoAsset failed, message = ', err);
203e41f4b71Sopenharmony_ci    }
204e41f4b71Sopenharmony_ci  });
205e41f4b71Sopenharmony_ci}
206e41f4b71Sopenharmony_ci```
207e41f4b71Sopenharmony_ci
208e41f4b71Sopenharmony_ci### createPhotoAsset
209e41f4b71Sopenharmony_ci
210e41f4b71Sopenharmony_cicreatePhotoAsset(displayName: string, callback: AsyncCallback&lt;FileAsset&gt;): void;
211e41f4b71Sopenharmony_ci
212e41f4b71Sopenharmony_ci指定待创建的图片或者视频的文件名,创建图片或视频资源,使用callback方式返回结果。
213e41f4b71Sopenharmony_ci
214e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
215e41f4b71Sopenharmony_ci
216e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
217e41f4b71Sopenharmony_ci
218e41f4b71Sopenharmony_ci**参数:**
219e41f4b71Sopenharmony_ci
220e41f4b71Sopenharmony_ci| 参数名   | 类型                     | 必填 | 说明                      |
221e41f4b71Sopenharmony_ci| -------- | ------------------------ | ---- | ------------------------- |
222e41f4b71Sopenharmony_ci| displayName  | string        | 是   | 创建的图片或者视频文件名。              |
223e41f4b71Sopenharmony_ci| callback |  AsyncCallback&lt;[FileAsset](#fileasset)&gt; | 是   | callback返回创建的图片和视频结果。 |
224e41f4b71Sopenharmony_ci
225e41f4b71Sopenharmony_ci**错误码:**
226e41f4b71Sopenharmony_ci
227e41f4b71Sopenharmony_ci接口抛出错误码的详细介绍请参见[文件管理错误码](errorcode-filemanagement.md)。
228e41f4b71Sopenharmony_ci
229e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
230e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- |
231e41f4b71Sopenharmony_ci| 13900020   | if type displayName is not string.         |
232e41f4b71Sopenharmony_ci| 14000001   | if type displayName invalid.         |
233e41f4b71Sopenharmony_ci
234e41f4b71Sopenharmony_ci**示例:**
235e41f4b71Sopenharmony_ci
236e41f4b71Sopenharmony_ci```ts
237e41f4b71Sopenharmony_ciasync function example() {
238e41f4b71Sopenharmony_ci  console.info('createPhotoAssetDemo');
239e41f4b71Sopenharmony_ci  let testFileName: string = 'testFile' + Date.now() + '.jpg';
240e41f4b71Sopenharmony_ci  mgr.createPhotoAsset(testFileName, (err, fileAsset) => {
241e41f4b71Sopenharmony_ci    if (fileAsset != undefined) {
242e41f4b71Sopenharmony_ci      console.info('createPhotoAsset file displayName' + fileAsset.displayName);
243e41f4b71Sopenharmony_ci      console.info('createPhotoAsset successfully');
244e41f4b71Sopenharmony_ci    } else {
245e41f4b71Sopenharmony_ci      console.error('createPhotoAsset failed, message = ', err);
246e41f4b71Sopenharmony_ci    }
247e41f4b71Sopenharmony_ci  });
248e41f4b71Sopenharmony_ci}
249e41f4b71Sopenharmony_ci```
250e41f4b71Sopenharmony_ci
251e41f4b71Sopenharmony_ci### createPhotoAsset
252e41f4b71Sopenharmony_ci
253e41f4b71Sopenharmony_cicreatePhotoAsset(displayName: string, albumUri?: string): Promise&lt;FileAsset&gt;;
254e41f4b71Sopenharmony_ci
255e41f4b71Sopenharmony_ci指定待创建的图片或者视频的文件名和所在相册的uri,创建图片或视频资源,使用Promise方式返回结果。
256e41f4b71Sopenharmony_ci
257e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
258e41f4b71Sopenharmony_ci
259e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
260e41f4b71Sopenharmony_ci
261e41f4b71Sopenharmony_ci**参数:**
262e41f4b71Sopenharmony_ci
263e41f4b71Sopenharmony_ci| 参数名   | 类型                     | 必填 | 说明                      |
264e41f4b71Sopenharmony_ci| -------- | ------------------------ | ---- | ------------------------- |
265e41f4b71Sopenharmony_ci| displayName  | string        | 是   | 创建的图片或者视频文件名。              |
266e41f4b71Sopenharmony_ci| albumUri  | string        | 否   | 创建的图片或者视频所在相册的uri。              |
267e41f4b71Sopenharmony_ci
268e41f4b71Sopenharmony_ci**返回值:**
269e41f4b71Sopenharmony_ci
270e41f4b71Sopenharmony_ci| 类型                        | 说明           |
271e41f4b71Sopenharmony_ci| --------------------------- | -------------- |
272e41f4b71Sopenharmony_ci| Promise&lt;[FileAsset](#fileasset)&gt; | Promise对象,返回创建的图片和视频结果。 |
273e41f4b71Sopenharmony_ci
274e41f4b71Sopenharmony_ci**错误码:**
275e41f4b71Sopenharmony_ci
276e41f4b71Sopenharmony_ci接口抛出错误码的详细介绍请参见[文件管理错误码](errorcode-filemanagement.md)。
277e41f4b71Sopenharmony_ci
278e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
279e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- |
280e41f4b71Sopenharmony_ci| 13900020   | if type displayName or albumUri is not string.         |
281e41f4b71Sopenharmony_ci
282e41f4b71Sopenharmony_ci**示例:**
283e41f4b71Sopenharmony_ci
284e41f4b71Sopenharmony_ci```ts
285e41f4b71Sopenharmony_ciasync function example() {
286e41f4b71Sopenharmony_ci  console.info('createPhotoAssetDemo');
287e41f4b71Sopenharmony_ci  try {
288e41f4b71Sopenharmony_ci    let testFileName: string = 'testFile' + Date.now() + '.jpg';
289e41f4b71Sopenharmony_ci    let fileAsset: userFileManager.FileAsset = await mgr.createPhotoAsset(testFileName);
290e41f4b71Sopenharmony_ci    console.info('createPhotoAsset file displayName' + fileAsset.displayName);
291e41f4b71Sopenharmony_ci    console.info('createPhotoAsset successfully');
292e41f4b71Sopenharmony_ci  } catch (err) {
293e41f4b71Sopenharmony_ci    console.error('createPhotoAsset failed, message = ', err);
294e41f4b71Sopenharmony_ci  }
295e41f4b71Sopenharmony_ci}
296e41f4b71Sopenharmony_ci```
297e41f4b71Sopenharmony_ci
298e41f4b71Sopenharmony_ci### createPhotoAsset
299e41f4b71Sopenharmony_ci
300e41f4b71Sopenharmony_cicreatePhotoAsset(displayName: string, createOption: PhotoCreateOptions, callback: AsyncCallback&lt;FileAsset&gt;): void;
301e41f4b71Sopenharmony_ci
302e41f4b71Sopenharmony_ci指定待创建的图片或者视频的文件名和创建选项,创建图片或视频资源,使用callback方式返回结果。
303e41f4b71Sopenharmony_ci
304e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
305e41f4b71Sopenharmony_ci
306e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
307e41f4b71Sopenharmony_ci
308e41f4b71Sopenharmony_ci**参数:**
309e41f4b71Sopenharmony_ci
310e41f4b71Sopenharmony_ci| 参数名   | 类型                     | 必填 | 说明                      |
311e41f4b71Sopenharmony_ci| -------- | ------------------------ | ---- | ------------------------- |
312e41f4b71Sopenharmony_ci| displayName  | string        | 是   | 创建的图片或者视频文件名。              |
313e41f4b71Sopenharmony_ci| createOption  | [PhotoCreateOptions](#photocreateoptions10)        | 是   | 图片或视频的创建选项。              |
314e41f4b71Sopenharmony_ci| callback |  AsyncCallback&lt;[FileAsset](#fileasset)&gt; | 是   | callback返回创建的图片和视频结果。 |
315e41f4b71Sopenharmony_ci
316e41f4b71Sopenharmony_ci**错误码:**
317e41f4b71Sopenharmony_ci
318e41f4b71Sopenharmony_ci接口抛出错误码的详细介绍请参见[文件管理错误码](errorcode-filemanagement.md)。
319e41f4b71Sopenharmony_ci
320e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
321e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- |
322e41f4b71Sopenharmony_ci| 13900020   | if type displayName is not string.         |
323e41f4b71Sopenharmony_ci| 14000001   | if type displayName invalid.         |
324e41f4b71Sopenharmony_ci
325e41f4b71Sopenharmony_ci**示例:**
326e41f4b71Sopenharmony_ci
327e41f4b71Sopenharmony_ci```ts
328e41f4b71Sopenharmony_ciasync function example() {
329e41f4b71Sopenharmony_ci  console.info('createPhotoAssetDemo');
330e41f4b71Sopenharmony_ci  let testFileName: string = 'testFile' + Date.now() + '.jpg';
331e41f4b71Sopenharmony_ci  let createOption: userFileManager.PhotoCreateOptions = {
332e41f4b71Sopenharmony_ci    subType: userFileManager.PhotoSubType.DEFAULT
333e41f4b71Sopenharmony_ci  }
334e41f4b71Sopenharmony_ci  mgr.createPhotoAsset(testFileName, createOption, (err, fileAsset) => {
335e41f4b71Sopenharmony_ci    if (fileAsset != undefined) {
336e41f4b71Sopenharmony_ci      console.info('createPhotoAsset file displayName' + fileAsset.displayName);
337e41f4b71Sopenharmony_ci      console.info('createPhotoAsset successfully');
338e41f4b71Sopenharmony_ci    } else {
339e41f4b71Sopenharmony_ci      console.error('createPhotoAsset failed, message = ', err);
340e41f4b71Sopenharmony_ci    }
341e41f4b71Sopenharmony_ci  });
342e41f4b71Sopenharmony_ci}
343e41f4b71Sopenharmony_ci```
344e41f4b71Sopenharmony_ci
345e41f4b71Sopenharmony_ci### createPhotoAsset
346e41f4b71Sopenharmony_ci
347e41f4b71Sopenharmony_cicreatePhotoAsset(displayName: string, createOption: PhotoCreateOptions): Promise&lt;FileAsset&gt;;
348e41f4b71Sopenharmony_ci
349e41f4b71Sopenharmony_ci指定待创建的图片或者视频的文件名和创建选项,创建图片或视频资源,使用Promise方式返回结果。
350e41f4b71Sopenharmony_ci
351e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
352e41f4b71Sopenharmony_ci
353e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
354e41f4b71Sopenharmony_ci
355e41f4b71Sopenharmony_ci**参数:**
356e41f4b71Sopenharmony_ci
357e41f4b71Sopenharmony_ci| 参数名   | 类型                     | 必填 | 说明                      |
358e41f4b71Sopenharmony_ci| -------- | ------------------------ | ---- | ------------------------- |
359e41f4b71Sopenharmony_ci| displayName  | string        | 是   | 创建的图片或者视频文件名。              |
360e41f4b71Sopenharmony_ci| createOption  |  [PhotoCreateOptions](#photocreateoptions10)       | 是   | 图片或视频的创建选项。              |
361e41f4b71Sopenharmony_ci
362e41f4b71Sopenharmony_ci**返回值:**
363e41f4b71Sopenharmony_ci
364e41f4b71Sopenharmony_ci| 类型                        | 说明           |
365e41f4b71Sopenharmony_ci| --------------------------- | -------------- |
366e41f4b71Sopenharmony_ci| Promise&lt;[FileAsset](#fileasset)&gt; | Promise对象,返回创建的图片和视频结果。 |
367e41f4b71Sopenharmony_ci
368e41f4b71Sopenharmony_ci**错误码:**
369e41f4b71Sopenharmony_ci
370e41f4b71Sopenharmony_ci接口抛出错误码的详细介绍请参见[文件管理错误码](errorcode-filemanagement.md)。
371e41f4b71Sopenharmony_ci
372e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
373e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- |
374e41f4b71Sopenharmony_ci| 13900020   | if type displayName is not string.         |
375e41f4b71Sopenharmony_ci
376e41f4b71Sopenharmony_ci**示例:**
377e41f4b71Sopenharmony_ci
378e41f4b71Sopenharmony_ci```ts
379e41f4b71Sopenharmony_ciasync function example() {
380e41f4b71Sopenharmony_ci  console.info('createPhotoAssetDemo');
381e41f4b71Sopenharmony_ci  try {
382e41f4b71Sopenharmony_ci    let testFileName: string = 'testFile' + Date.now() + '.jpg';
383e41f4b71Sopenharmony_ci    let createOption: userFileManager.PhotoCreateOptions = {
384e41f4b71Sopenharmony_ci      subType: userFileManager.PhotoSubType.DEFAULT
385e41f4b71Sopenharmony_ci    }
386e41f4b71Sopenharmony_ci    let fileAsset: userFileManager.FileAsset = await mgr.createPhotoAsset(testFileName, createOption);
387e41f4b71Sopenharmony_ci    console.info('createPhotoAsset file displayName' + fileAsset.displayName);
388e41f4b71Sopenharmony_ci    console.info('createPhotoAsset successfully');
389e41f4b71Sopenharmony_ci  } catch (err) {
390e41f4b71Sopenharmony_ci    console.error('createPhotoAsset failed, message = ', err);
391e41f4b71Sopenharmony_ci  }
392e41f4b71Sopenharmony_ci}
393e41f4b71Sopenharmony_ci```
394e41f4b71Sopenharmony_ci
395e41f4b71Sopenharmony_ci### createAudioAsset<sup>10+</sup>
396e41f4b71Sopenharmony_ci
397e41f4b71Sopenharmony_cicreateAudioAsset(displayName: string, callback: AsyncCallback&lt;FileAsset&gt;): void;
398e41f4b71Sopenharmony_ci
399e41f4b71Sopenharmony_ci创建音频文件资源,使用callback方式返回结果。
400e41f4b71Sopenharmony_ci
401e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
402e41f4b71Sopenharmony_ci
403e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.WRITE_AUDIO
404e41f4b71Sopenharmony_ci
405e41f4b71Sopenharmony_ci**参数:**
406e41f4b71Sopenharmony_ci
407e41f4b71Sopenharmony_ci| 参数名   | 类型                     | 必填 | 说明                      |
408e41f4b71Sopenharmony_ci| -------- | ------------------------ | ---- | ------------------------- |
409e41f4b71Sopenharmony_ci| displayName  | string        | 是   | 创建的音频文件名。              |
410e41f4b71Sopenharmony_ci| callback |  AsyncCallback&lt;[FileAsset](#fileasset)&gt; | 是   | callback返回创建的音频资源结果。 |
411e41f4b71Sopenharmony_ci
412e41f4b71Sopenharmony_ci**错误码:**
413e41f4b71Sopenharmony_ci
414e41f4b71Sopenharmony_ci接口抛出错误码的详细介绍请参见[文件管理错误码](errorcode-filemanagement.md)。
415e41f4b71Sopenharmony_ci
416e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
417e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- |
418e41f4b71Sopenharmony_ci| 13900020   | if type displayName is not string.         |
419e41f4b71Sopenharmony_ci| 14000001   | if type displayName invalid.         |
420e41f4b71Sopenharmony_ci
421e41f4b71Sopenharmony_ci**示例:**
422e41f4b71Sopenharmony_ci
423e41f4b71Sopenharmony_ci```ts
424e41f4b71Sopenharmony_ciasync function example() {
425e41f4b71Sopenharmony_ci  console.info('createAudioAssetDemo');
426e41f4b71Sopenharmony_ci  let testFileName: string = 'testFile' + Date.now() + '.mp3';
427e41f4b71Sopenharmony_ci  mgr.createAudioAsset(testFileName, (err, fileAsset) => {
428e41f4b71Sopenharmony_ci    if (fileAsset != undefined) {
429e41f4b71Sopenharmony_ci      console.info('createAudioAsset file displayName' + fileAsset.displayName);
430e41f4b71Sopenharmony_ci      console.info('createAudioAsset successfully');
431e41f4b71Sopenharmony_ci    } else {
432e41f4b71Sopenharmony_ci      console.error('createAudioAsset failed, message = ', err);
433e41f4b71Sopenharmony_ci    }
434e41f4b71Sopenharmony_ci  });
435e41f4b71Sopenharmony_ci}
436e41f4b71Sopenharmony_ci```
437e41f4b71Sopenharmony_ci
438e41f4b71Sopenharmony_ci### createAudioAsset<sup>10+</sup>
439e41f4b71Sopenharmony_ci
440e41f4b71Sopenharmony_cicreateAudioAsset(displayName: string): Promise&lt;FileAsset&gt;;
441e41f4b71Sopenharmony_ci
442e41f4b71Sopenharmony_ci创建音频文件资源,使用Promise方式返回结果。
443e41f4b71Sopenharmony_ci
444e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
445e41f4b71Sopenharmony_ci
446e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.WRITE_AUDIO
447e41f4b71Sopenharmony_ci
448e41f4b71Sopenharmony_ci**参数:**
449e41f4b71Sopenharmony_ci
450e41f4b71Sopenharmony_ci| 参数名   | 类型                     | 必填 | 说明                      |
451e41f4b71Sopenharmony_ci| -------- | ------------------------ | ---- | ------------------------- |
452e41f4b71Sopenharmony_ci| displayName  | string        | 是   | 创建的音频文件名。              |
453e41f4b71Sopenharmony_ci
454e41f4b71Sopenharmony_ci**返回值:**
455e41f4b71Sopenharmony_ci
456e41f4b71Sopenharmony_ci| 类型                        | 说明           |
457e41f4b71Sopenharmony_ci| --------------------------- | -------------- |
458e41f4b71Sopenharmony_ci| Promise&lt;[FileAsset](#fileasset)&gt; | Promise对象,返回创建的音频资源结果。 |
459e41f4b71Sopenharmony_ci
460e41f4b71Sopenharmony_ci**错误码:**
461e41f4b71Sopenharmony_ci
462e41f4b71Sopenharmony_ci接口抛出错误码的详细介绍请参见[文件管理错误码](errorcode-filemanagement.md)。
463e41f4b71Sopenharmony_ci
464e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
465e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- |
466e41f4b71Sopenharmony_ci| 13900020   | if type displayName is not string.         |
467e41f4b71Sopenharmony_ci
468e41f4b71Sopenharmony_ci**示例:**
469e41f4b71Sopenharmony_ci
470e41f4b71Sopenharmony_ci```ts
471e41f4b71Sopenharmony_ciasync function example() {
472e41f4b71Sopenharmony_ci  console.info('createAudioAssetDemo');
473e41f4b71Sopenharmony_ci  try {
474e41f4b71Sopenharmony_ci    let testFileName: string = 'testFile' + Date.now() + '.mp3';
475e41f4b71Sopenharmony_ci    let fileAsset: userFileManager.FileAsset = await mgr.createAudioAsset(testFileName);
476e41f4b71Sopenharmony_ci    console.info('createAudioAsset file displayName' + fileAsset.displayName);
477e41f4b71Sopenharmony_ci    console.info('createAudioAsset successfully');
478e41f4b71Sopenharmony_ci  } catch (err) {
479e41f4b71Sopenharmony_ci    console.error('createAudioAsset failed, message = ', err);
480e41f4b71Sopenharmony_ci  }
481e41f4b71Sopenharmony_ci}
482e41f4b71Sopenharmony_ci```
483e41f4b71Sopenharmony_ci
484e41f4b71Sopenharmony_ci### createAlbum<sup>10+</sup>
485e41f4b71Sopenharmony_ci
486e41f4b71Sopenharmony_cicreateAlbum(name: string, callback: AsyncCallback&lt;Album&gt;): void;
487e41f4b71Sopenharmony_ci
488e41f4b71Sopenharmony_ci创建相册,使用callback方式返回结果。
489e41f4b71Sopenharmony_ci
490e41f4b71Sopenharmony_ci待创建的相册名参数规格为:
491e41f4b71Sopenharmony_ci- 相册名字符串长度为1~255。
492e41f4b71Sopenharmony_ci- 不允许出现的非法英文字符,包括:<br> . .. \ / : * ? " ' ` < > | { } [ ]
493e41f4b71Sopenharmony_ci- 英文字符大小写不敏感。
494e41f4b71Sopenharmony_ci- 相册名不允许重名。
495e41f4b71Sopenharmony_ci
496e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
497e41f4b71Sopenharmony_ci
498e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
499e41f4b71Sopenharmony_ci
500e41f4b71Sopenharmony_ci**参数:**
501e41f4b71Sopenharmony_ci
502e41f4b71Sopenharmony_ci| 参数名   | 类型                     | 必填 | 说明                      |
503e41f4b71Sopenharmony_ci| -------- | ------------------------ | ---- | ------------------------- |
504e41f4b71Sopenharmony_ci| name  | string         | 是   | 待创建相册的相册名。              |
505e41f4b71Sopenharmony_ci| callback |  AsyncCallback&lt;[Album](#album)&gt; | 是   | callback返回创建的相册实例。 |
506e41f4b71Sopenharmony_ci
507e41f4b71Sopenharmony_ci**示例:**
508e41f4b71Sopenharmony_ci
509e41f4b71Sopenharmony_ci```ts
510e41f4b71Sopenharmony_ciasync function example() {
511e41f4b71Sopenharmony_ci  console.info('createAlbumDemo');
512e41f4b71Sopenharmony_ci  let albumName: string = 'newAlbumName' + new Date().getTime();
513e41f4b71Sopenharmony_ci  mgr.createAlbum(albumName, (err, album) => {
514e41f4b71Sopenharmony_ci    if (err) {
515e41f4b71Sopenharmony_ci      console.error('createAlbumCallback failed with err: ' + err);
516e41f4b71Sopenharmony_ci      return;
517e41f4b71Sopenharmony_ci    }
518e41f4b71Sopenharmony_ci    console.info('createAlbumCallback successfully, album: ' + album.albumName + ' album uri: ' + album.albumUri);
519e41f4b71Sopenharmony_ci  });
520e41f4b71Sopenharmony_ci}
521e41f4b71Sopenharmony_ci```
522e41f4b71Sopenharmony_ci
523e41f4b71Sopenharmony_ci### createAlbum<sup>10+</sup>
524e41f4b71Sopenharmony_ci
525e41f4b71Sopenharmony_cicreateAlbum(name: string): Promise&lt;Album&gt;;
526e41f4b71Sopenharmony_ci
527e41f4b71Sopenharmony_ci创建相册,使用Promise方式返回结果。
528e41f4b71Sopenharmony_ci
529e41f4b71Sopenharmony_ci待创建的相册名参数规格为:
530e41f4b71Sopenharmony_ci- 相册名字符串长度为1~255。
531e41f4b71Sopenharmony_ci- 不允许出现的非法英文字符,包括:<br> . .. \ / : * ? " ' ` < > | { } [ ]
532e41f4b71Sopenharmony_ci- 英文字符大小写不敏感。
533e41f4b71Sopenharmony_ci- 相册名不允许重名。
534e41f4b71Sopenharmony_ci
535e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
536e41f4b71Sopenharmony_ci
537e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
538e41f4b71Sopenharmony_ci
539e41f4b71Sopenharmony_ci**参数:**
540e41f4b71Sopenharmony_ci
541e41f4b71Sopenharmony_ci| 参数名   | 类型                     | 必填 | 说明                      |
542e41f4b71Sopenharmony_ci| -------- | ------------------------ | ---- | ------------------------- |
543e41f4b71Sopenharmony_ci| name  | string         | 是   | 待创建相册的相册名。              |
544e41f4b71Sopenharmony_ci
545e41f4b71Sopenharmony_ci**返回值:**
546e41f4b71Sopenharmony_ci
547e41f4b71Sopenharmony_ci| 类型                        | 说明           |
548e41f4b71Sopenharmony_ci| --------------------------- | -------------- |
549e41f4b71Sopenharmony_ci| Promise&lt;[Album](#album)&gt; | Promise对象,返回创建的相册实例。 |
550e41f4b71Sopenharmony_ci
551e41f4b71Sopenharmony_ci**示例:**
552e41f4b71Sopenharmony_ci
553e41f4b71Sopenharmony_ci```ts
554e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
555e41f4b71Sopenharmony_ci
556e41f4b71Sopenharmony_ciasync function example() {
557e41f4b71Sopenharmony_ci  console.info('createAlbumDemo');
558e41f4b71Sopenharmony_ci  let albumName: string  = 'newAlbumName' + new Date().getTime();
559e41f4b71Sopenharmony_ci  mgr.createAlbum(albumName).then((album) => {
560e41f4b71Sopenharmony_ci    console.info('createAlbumPromise successfully, album: ' + album.albumName + ' album uri: ' + album.albumUri);
561e41f4b71Sopenharmony_ci  }).catch((err: BusinessError) => {
562e41f4b71Sopenharmony_ci    console.error('createAlbumPromise failed with err: ' + err);
563e41f4b71Sopenharmony_ci  });
564e41f4b71Sopenharmony_ci}
565e41f4b71Sopenharmony_ci```
566e41f4b71Sopenharmony_ci
567e41f4b71Sopenharmony_ci### deleteAlbums<sup>10+</sup>
568e41f4b71Sopenharmony_ci
569e41f4b71Sopenharmony_cideleteAlbums(albums: Array&lt;Album&gt;, callback: AsyncCallback&lt;void&gt;): void;
570e41f4b71Sopenharmony_ci
571e41f4b71Sopenharmony_ci删除相册,使用callback方式返回结果。
572e41f4b71Sopenharmony_ci
573e41f4b71Sopenharmony_ci删除相册前需先确保相册存在,只能删除用户相册。
574e41f4b71Sopenharmony_ci
575e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
576e41f4b71Sopenharmony_ci
577e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
578e41f4b71Sopenharmony_ci
579e41f4b71Sopenharmony_ci**参数:**
580e41f4b71Sopenharmony_ci
581e41f4b71Sopenharmony_ci| 参数名   | 类型                     | 必填 | 说明                      |
582e41f4b71Sopenharmony_ci| -------- | ------------------------ | ---- | ------------------------- |
583e41f4b71Sopenharmony_ci| albums  | Array&lt;[Album](#album)&gt;         | 是   | 待删除相册的数组。              |
584e41f4b71Sopenharmony_ci| callback |  AsyncCallback&lt;void&gt; | 是   | callback返回void。 |
585e41f4b71Sopenharmony_ci
586e41f4b71Sopenharmony_ci**示例:**
587e41f4b71Sopenharmony_ci
588e41f4b71Sopenharmony_ci```ts
589e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
590e41f4b71Sopenharmony_ci
591e41f4b71Sopenharmony_ciasync function example() {
592e41f4b71Sopenharmony_ci  // 示例代码为删除相册名为newAlbumName的相册。
593e41f4b71Sopenharmony_ci  console.info('deleteAlbumsDemo');
594e41f4b71Sopenharmony_ci  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
595e41f4b71Sopenharmony_ci  predicates.equalTo('album_name', 'newAlbumName');
596e41f4b71Sopenharmony_ci  let fetchOptions: userFileManager.FetchOptions = {
597e41f4b71Sopenharmony_ci    fetchColumns: [],
598e41f4b71Sopenharmony_ci    predicates: predicates
599e41f4b71Sopenharmony_ci  };
600e41f4b71Sopenharmony_ci  let fetchResult: userFileManager.FetchResult<userFileManager.Album> = await mgr.getAlbums(userFileManager.AlbumType.USER, userFileManager.AlbumSubType.USER_GENERIC, fetchOptions);
601e41f4b71Sopenharmony_ci  let album: userFileManager.Album = await fetchResult.getFirstObject();
602e41f4b71Sopenharmony_ci  mgr.deleteAlbums([album], (err) => {
603e41f4b71Sopenharmony_ci    if (err) {
604e41f4b71Sopenharmony_ci      console.error('deletePhotoAlbumsCallback failed with err: ' + err);
605e41f4b71Sopenharmony_ci      return;
606e41f4b71Sopenharmony_ci    }
607e41f4b71Sopenharmony_ci    console.info('deletePhotoAlbumsCallback successfully');
608e41f4b71Sopenharmony_ci  });
609e41f4b71Sopenharmony_ci  fetchResult.close();
610e41f4b71Sopenharmony_ci}
611e41f4b71Sopenharmony_ci```
612e41f4b71Sopenharmony_ci
613e41f4b71Sopenharmony_ci### deleteAlbums<sup>10+</sup>
614e41f4b71Sopenharmony_ci
615e41f4b71Sopenharmony_cideleteAlbums(albums: Array&lt;Album&gt;): Promise&lt;void&gt;;
616e41f4b71Sopenharmony_ci
617e41f4b71Sopenharmony_ci删除相册,使用Promise方式返回结果。
618e41f4b71Sopenharmony_ci
619e41f4b71Sopenharmony_ci删除相册前需先确保相册存在,只能删除用户相册。
620e41f4b71Sopenharmony_ci
621e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
622e41f4b71Sopenharmony_ci
623e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
624e41f4b71Sopenharmony_ci
625e41f4b71Sopenharmony_ci**参数:**
626e41f4b71Sopenharmony_ci
627e41f4b71Sopenharmony_ci| 参数名   | 类型                     | 必填 | 说明                      |
628e41f4b71Sopenharmony_ci| -------- | ------------------------ | ---- | ------------------------- |
629e41f4b71Sopenharmony_ci| albums  |  Array&lt;[Album](#album)&gt;          | 是   | 待删除相册的数组。              |
630e41f4b71Sopenharmony_ci
631e41f4b71Sopenharmony_ci**返回值:**
632e41f4b71Sopenharmony_ci
633e41f4b71Sopenharmony_ci| 类型                        | 说明           |
634e41f4b71Sopenharmony_ci| --------------------------- | -------------- |
635e41f4b71Sopenharmony_ci| Promise&lt;void&gt; | Promise对象,返回void。 |
636e41f4b71Sopenharmony_ci
637e41f4b71Sopenharmony_ci**示例:**
638e41f4b71Sopenharmony_ci
639e41f4b71Sopenharmony_ci```ts
640e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
641e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
642e41f4b71Sopenharmony_ci
643e41f4b71Sopenharmony_ciasync function example() {
644e41f4b71Sopenharmony_ci  // 示例代码为删除相册名为newAlbumName的相册。
645e41f4b71Sopenharmony_ci  console.info('deleteAlbumsDemo');
646e41f4b71Sopenharmony_ci  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
647e41f4b71Sopenharmony_ci  predicates.equalTo('album_name', 'newAlbumName');
648e41f4b71Sopenharmony_ci  let fetchOptions: userFileManager.FetchOptions = {
649e41f4b71Sopenharmony_ci    fetchColumns: [],
650e41f4b71Sopenharmony_ci    predicates: predicates
651e41f4b71Sopenharmony_ci  };
652e41f4b71Sopenharmony_ci  let fetchResult: userFileManager.FetchResult<userFileManager.Album> = await mgr.getAlbums(userFileManager.AlbumType.USER, userFileManager.AlbumSubType.USER_GENERIC, fetchOptions);
653e41f4b71Sopenharmony_ci  let album: userFileManager.Album = await fetchResult.getFirstObject();
654e41f4b71Sopenharmony_ci  mgr.deleteAlbums([album]).then(() => {
655e41f4b71Sopenharmony_ci    console.info('deletePhotoAlbumsPromise successfully');
656e41f4b71Sopenharmony_ci    }).catch((err: BusinessError) => {
657e41f4b71Sopenharmony_ci      console.error('deletePhotoAlbumsPromise failed with err: ' + err);
658e41f4b71Sopenharmony_ci  });
659e41f4b71Sopenharmony_ci  fetchResult.close();
660e41f4b71Sopenharmony_ci}
661e41f4b71Sopenharmony_ci```
662e41f4b71Sopenharmony_ci
663e41f4b71Sopenharmony_ci### getAlbums<sup>10+</sup>
664e41f4b71Sopenharmony_ci
665e41f4b71Sopenharmony_cigetAlbums(type: AlbumType, subType: AlbumSubType, options: FetchOptions, callback: AsyncCallback&lt;FetchResult&lt;Album&gt;&gt;): void;
666e41f4b71Sopenharmony_ci
667e41f4b71Sopenharmony_ci根据检索选项和相册类型获取相册,使用callback方式返回结果。
668e41f4b71Sopenharmony_ci
669e41f4b71Sopenharmony_ci该接口不支持获取隐藏相册,请使用[getHiddenAlbums](../apis-media-library-kit/js-apis-photoAccessHelper-sys.md#gethiddenalbums11)获得。
670e41f4b71Sopenharmony_ci
671e41f4b71Sopenharmony_ci获取相册前需先保证相册存在。
672e41f4b71Sopenharmony_ci
673e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
674e41f4b71Sopenharmony_ci
675e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.READ_IMAGEVIDEO
676e41f4b71Sopenharmony_ci
677e41f4b71Sopenharmony_ci**参数:**
678e41f4b71Sopenharmony_ci
679e41f4b71Sopenharmony_ci| 参数名   | 类型                     | 必填 | 说明                      |
680e41f4b71Sopenharmony_ci| -------- | ------------------------ | ---- | ------------------------- |
681e41f4b71Sopenharmony_ci| type  | [AlbumType](#albumtype10)         | 是   | 相册类型。              |
682e41f4b71Sopenharmony_ci| subType  | [AlbumSubType](#albumsubtype10)         | 是   | 相册子类型。              |
683e41f4b71Sopenharmony_ci| options  | [FetchOptions](#fetchoptions)         | 是   |  检索选项。              |
684e41f4b71Sopenharmony_ci| callback |  AsyncCallback&lt;[FetchResult](#fetchresult)&lt;[Album](#album)&gt;&gt; | 是   | callback返回获取相册的结果集。 |
685e41f4b71Sopenharmony_ci
686e41f4b71Sopenharmony_ci**错误码:**
687e41f4b71Sopenharmony_ci
688e41f4b71Sopenharmony_ci接口抛出错误码的详细介绍请参见[文件管理错误码](errorcode-filemanagement.md)。
689e41f4b71Sopenharmony_ci
690e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
691e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- |
692e41f4b71Sopenharmony_ci| 13900020   | if type options is not FetchOption.         |
693e41f4b71Sopenharmony_ci
694e41f4b71Sopenharmony_ci**示例:**
695e41f4b71Sopenharmony_ci
696e41f4b71Sopenharmony_ci```ts
697e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
698e41f4b71Sopenharmony_ci
699e41f4b71Sopenharmony_ciasync function example() {
700e41f4b71Sopenharmony_ci  // 示例代码中为获取相册名为newAlbumName的相册。
701e41f4b71Sopenharmony_ci  console.info('getAlbumsDemo');
702e41f4b71Sopenharmony_ci  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
703e41f4b71Sopenharmony_ci  predicates.equalTo('album_name', 'newAlbumName');
704e41f4b71Sopenharmony_ci  let fetchOptions: userFileManager.FetchOptions = {
705e41f4b71Sopenharmony_ci    fetchColumns: [],
706e41f4b71Sopenharmony_ci    predicates: predicates
707e41f4b71Sopenharmony_ci  };
708e41f4b71Sopenharmony_ci  mgr.getAlbums(userFileManager.AlbumType.USER, userFileManager.AlbumSubType.USER_GENERIC, fetchOptions, async (err, fetchResult) => {
709e41f4b71Sopenharmony_ci    if (err) {
710e41f4b71Sopenharmony_ci      console.error('getAlbumsCallback failed with err: ' + err);
711e41f4b71Sopenharmony_ci      return;
712e41f4b71Sopenharmony_ci    }
713e41f4b71Sopenharmony_ci    if (fetchResult == undefined) {
714e41f4b71Sopenharmony_ci      console.error('getAlbumsCallback fetchResult is undefined');
715e41f4b71Sopenharmony_ci      return;
716e41f4b71Sopenharmony_ci    }
717e41f4b71Sopenharmony_ci    let album: userFileManager.Album = await fetchResult.getFirstObject();
718e41f4b71Sopenharmony_ci    console.info('getAlbumsCallback successfully, albumName: ' + album.albumName);
719e41f4b71Sopenharmony_ci    fetchResult.close();
720e41f4b71Sopenharmony_ci  });
721e41f4b71Sopenharmony_ci}
722e41f4b71Sopenharmony_ci```
723e41f4b71Sopenharmony_ci
724e41f4b71Sopenharmony_ci### getAlbums<sup>10+</sup>
725e41f4b71Sopenharmony_ci
726e41f4b71Sopenharmony_cigetAlbums(type: AlbumType, subType: AlbumSubType, callback: AsyncCallback&lt;FetchResult&lt;Album&gt;&gt;): void;
727e41f4b71Sopenharmony_ci
728e41f4b71Sopenharmony_ci根据相册类型获取相册,使用callback方式返回结果。
729e41f4b71Sopenharmony_ci
730e41f4b71Sopenharmony_ci该接口不支持获取隐藏相册,请使用[getHiddenAlbums](../apis-media-library-kit/js-apis-photoAccessHelper-sys.md#gethiddenalbums11)获得。
731e41f4b71Sopenharmony_ci
732e41f4b71Sopenharmony_ci获取相册前需先保证相册存在。
733e41f4b71Sopenharmony_ci
734e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
735e41f4b71Sopenharmony_ci
736e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.READ_IMAGEVIDEO
737e41f4b71Sopenharmony_ci
738e41f4b71Sopenharmony_ci**参数:**
739e41f4b71Sopenharmony_ci
740e41f4b71Sopenharmony_ci| 参数名   | 类型                     | 必填 | 说明                      |
741e41f4b71Sopenharmony_ci| -------- | ------------------------ | ---- | ------------------------- |
742e41f4b71Sopenharmony_ci| type  | [AlbumType](#albumtype10)         | 是   | 相册类型。              |
743e41f4b71Sopenharmony_ci| subType  | [AlbumSubType](#albumsubtype10)         | 是   | 相册子类型。              |
744e41f4b71Sopenharmony_ci| callback |  AsyncCallback&lt;[FetchResult](#fetchresult)&lt;[Album](#album)&gt;&gt; | 是   | callback返回获取相册的结果集。 |
745e41f4b71Sopenharmony_ci
746e41f4b71Sopenharmony_ci**错误码:**
747e41f4b71Sopenharmony_ci
748e41f4b71Sopenharmony_ci接口抛出错误码的详细介绍请参见[文件管理错误码](errorcode-filemanagement.md)。
749e41f4b71Sopenharmony_ci
750e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
751e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- |
752e41f4b71Sopenharmony_ci| 13900020   | if type options is not FetchOption.         |
753e41f4b71Sopenharmony_ci
754e41f4b71Sopenharmony_ci**示例:**
755e41f4b71Sopenharmony_ci
756e41f4b71Sopenharmony_ci```ts
757e41f4b71Sopenharmony_ciasync function example() {
758e41f4b71Sopenharmony_ci  // 示例代码中为获取统相册VIDEO,默认已预置。
759e41f4b71Sopenharmony_ci  console.info('getAlbumsDemo');
760e41f4b71Sopenharmony_ci  mgr.getAlbums(userFileManager.AlbumType.SYSTEM, userFileManager.AlbumSubType.VIDEO, async (err, fetchResult) => {
761e41f4b71Sopenharmony_ci    if (err) {
762e41f4b71Sopenharmony_ci      console.error('getAlbumsCallback failed with err: ' + err);
763e41f4b71Sopenharmony_ci      return;
764e41f4b71Sopenharmony_ci    }
765e41f4b71Sopenharmony_ci    if (fetchResult == undefined) {
766e41f4b71Sopenharmony_ci      console.error('getAlbumsCallback fetchResult is undefined');
767e41f4b71Sopenharmony_ci      return;
768e41f4b71Sopenharmony_ci    }
769e41f4b71Sopenharmony_ci    let album: userFileManager.Album = await fetchResult.getFirstObject();
770e41f4b71Sopenharmony_ci    console.info('getAlbumsCallback successfully, albumUri: ' + album.albumUri);
771e41f4b71Sopenharmony_ci    fetchResult.close();
772e41f4b71Sopenharmony_ci  });
773e41f4b71Sopenharmony_ci}
774e41f4b71Sopenharmony_ci```
775e41f4b71Sopenharmony_ci
776e41f4b71Sopenharmony_ci### getAlbums<sup>10+</sup>
777e41f4b71Sopenharmony_ci
778e41f4b71Sopenharmony_cigetAlbums(type: AlbumType, subType: AlbumSubType, options?: FetchOptions): Promise&lt;FetchResult&lt;Album&gt;&gt;;
779e41f4b71Sopenharmony_ci
780e41f4b71Sopenharmony_ci根据检索选项和相册类型获取相册,使用Promise方式返回结果。
781e41f4b71Sopenharmony_ci
782e41f4b71Sopenharmony_ci该接口不支持获取隐藏相册,请使用[getHiddenAlbums](../apis-media-library-kit/js-apis-photoAccessHelper-sys.md#gethiddenalbums11)获得。
783e41f4b71Sopenharmony_ci
784e41f4b71Sopenharmony_ci获取相册前需先保证相册存在。
785e41f4b71Sopenharmony_ci
786e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
787e41f4b71Sopenharmony_ci
788e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.READ_IMAGEVIDEO
789e41f4b71Sopenharmony_ci
790e41f4b71Sopenharmony_ci**参数:**
791e41f4b71Sopenharmony_ci
792e41f4b71Sopenharmony_ci| 参数名   | 类型                     | 必填 | 说明                      |
793e41f4b71Sopenharmony_ci| -------- | ------------------------ | ---- | ------------------------- |
794e41f4b71Sopenharmony_ci| type  | [AlbumType](#albumtype10)         | 是   | 相册类型。              |
795e41f4b71Sopenharmony_ci| subType  | [AlbumSubType](#albumsubtype10)         | 是   | 相册子类型。              |
796e41f4b71Sopenharmony_ci| options  | [FetchOptions](#fetchoptions)         | 否   |  检索选项,不填时默认根据相册类型检索。              |
797e41f4b71Sopenharmony_ci
798e41f4b71Sopenharmony_ci**返回值:**
799e41f4b71Sopenharmony_ci
800e41f4b71Sopenharmony_ci| 类型                        | 说明           |
801e41f4b71Sopenharmony_ci| --------------------------- | -------------- |
802e41f4b71Sopenharmony_ci| Promise&lt;[FetchResult](#fetchresult)&lt;[Album](#album)&gt;&gt; | Promise对象,返回获取相册的结果集。 |
803e41f4b71Sopenharmony_ci
804e41f4b71Sopenharmony_ci**错误码:**
805e41f4b71Sopenharmony_ci
806e41f4b71Sopenharmony_ci接口抛出错误码的详细介绍请参见[文件管理错误码](errorcode-filemanagement.md)。
807e41f4b71Sopenharmony_ci
808e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
809e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- |
810e41f4b71Sopenharmony_ci| 13900020   | if type options is not FetchOption.         |
811e41f4b71Sopenharmony_ci
812e41f4b71Sopenharmony_ci**示例:**
813e41f4b71Sopenharmony_ci
814e41f4b71Sopenharmony_ci```ts
815e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
816e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
817e41f4b71Sopenharmony_ci
818e41f4b71Sopenharmony_ciasync function example() {
819e41f4b71Sopenharmony_ci  // 示例代码中为获取相册名为newAlbumName的相册。
820e41f4b71Sopenharmony_ci  console.info('getAlbumsDemo');
821e41f4b71Sopenharmony_ci  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
822e41f4b71Sopenharmony_ci  predicates.equalTo('album_name', 'newAlbumName');
823e41f4b71Sopenharmony_ci  let fetchOptions: userFileManager.FetchOptions = {
824e41f4b71Sopenharmony_ci    fetchColumns: [],
825e41f4b71Sopenharmony_ci    predicates: predicates
826e41f4b71Sopenharmony_ci  };
827e41f4b71Sopenharmony_ci  mgr.getAlbums(userFileManager.AlbumType.USER, userFileManager.AlbumSubType.USER_GENERIC, fetchOptions).then( async (fetchResult) => {
828e41f4b71Sopenharmony_ci    if (fetchResult == undefined) {
829e41f4b71Sopenharmony_ci      console.error('getAlbumsPromise fetchResult is undefined');
830e41f4b71Sopenharmony_ci      return;
831e41f4b71Sopenharmony_ci    }
832e41f4b71Sopenharmony_ci    let album: userFileManager.Album = await fetchResult.getFirstObject();
833e41f4b71Sopenharmony_ci    console.info('getAlbumsPromise successfully, albumName: ' + album.albumName);
834e41f4b71Sopenharmony_ci    fetchResult.close();
835e41f4b71Sopenharmony_ci  }).catch((err: BusinessError) => {
836e41f4b71Sopenharmony_ci    console.error('getAlbumsPromise failed with err: ' + err);
837e41f4b71Sopenharmony_ci  });
838e41f4b71Sopenharmony_ci}
839e41f4b71Sopenharmony_ci```
840e41f4b71Sopenharmony_ci
841e41f4b71Sopenharmony_ci### getPhotoAlbums
842e41f4b71Sopenharmony_ci
843e41f4b71Sopenharmony_cigetPhotoAlbums(options: AlbumFetchOptions, callback: AsyncCallback&lt;FetchResult&lt;Album&gt;&gt;): void;
844e41f4b71Sopenharmony_ci
845e41f4b71Sopenharmony_ci获取相册,使用callback方式返回结果。
846e41f4b71Sopenharmony_ci
847e41f4b71Sopenharmony_ci该接口不支持获取隐藏相册,请使用[getHiddenAlbums](../apis-media-library-kit/js-apis-photoAccessHelper-sys.md#gethiddenalbums11)获得。
848e41f4b71Sopenharmony_ci
849e41f4b71Sopenharmony_ci此接口即将废弃,请使用[getAlbums<sup>10+</sup>](#getalbums10)的新接口。
850e41f4b71Sopenharmony_ci
851e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
852e41f4b71Sopenharmony_ci
853e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.READ_IMAGEVIDEO
854e41f4b71Sopenharmony_ci
855e41f4b71Sopenharmony_ci**参数:**
856e41f4b71Sopenharmony_ci
857e41f4b71Sopenharmony_ci| 参数名   | 类型                     | 必填 | 说明                      |
858e41f4b71Sopenharmony_ci| -------- | ------------------------ | ---- | ------------------------- |
859e41f4b71Sopenharmony_ci| options  | [AlbumFetchOptions](#albumfetchoptions)        | 是   | 相册检索选项。              |
860e41f4b71Sopenharmony_ci| callback |  AsyncCallback&lt;[FetchResult](#fetchresult)&lt;[Album](#album)&gt;&gt; | 是   | callback返回相册检索结果。 |
861e41f4b71Sopenharmony_ci
862e41f4b71Sopenharmony_ci**错误码:**
863e41f4b71Sopenharmony_ci
864e41f4b71Sopenharmony_ci接口抛出错误码的详细介绍请参见[文件管理错误码](errorcode-filemanagement.md)。
865e41f4b71Sopenharmony_ci
866e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
867e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- |
868e41f4b71Sopenharmony_ci| 13900020   | if type options is not AlbumFetchOptions.         |
869e41f4b71Sopenharmony_ci
870e41f4b71Sopenharmony_ci**示例:**
871e41f4b71Sopenharmony_ci
872e41f4b71Sopenharmony_ci```ts
873e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
874e41f4b71Sopenharmony_ci
875e41f4b71Sopenharmony_ciasync function example() {
876e41f4b71Sopenharmony_ci  console.info('getPhotoAlbumsDemo');
877e41f4b71Sopenharmony_ci  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
878e41f4b71Sopenharmony_ci  let albumFetchOptions: userFileManager.AlbumFetchOptions = {
879e41f4b71Sopenharmony_ci    predicates: predicates
880e41f4b71Sopenharmony_ci  };
881e41f4b71Sopenharmony_ci
882e41f4b71Sopenharmony_ci  mgr.getPhotoAlbums(albumFetchOptions, (err, fetchResult) => {
883e41f4b71Sopenharmony_ci    if (fetchResult != undefined) {
884e41f4b71Sopenharmony_ci      console.info('albums.count = ' + fetchResult.getCount());
885e41f4b71Sopenharmony_ci      fetchResult.getFirstObject((err, album) => {
886e41f4b71Sopenharmony_ci        if (album != undefined) {
887e41f4b71Sopenharmony_ci          console.info('first album.albumName = ' + album.albumName);
888e41f4b71Sopenharmony_ci        } else {
889e41f4b71Sopenharmony_ci          console.error('album is undefined, err = ', err);
890e41f4b71Sopenharmony_ci        }
891e41f4b71Sopenharmony_ci      });
892e41f4b71Sopenharmony_ci    } else {
893e41f4b71Sopenharmony_ci      console.error('getPhotoAlbums fail, message = ', err);
894e41f4b71Sopenharmony_ci    }
895e41f4b71Sopenharmony_ci  });
896e41f4b71Sopenharmony_ci}
897e41f4b71Sopenharmony_ci```
898e41f4b71Sopenharmony_ci
899e41f4b71Sopenharmony_ci### getPhotoAlbums
900e41f4b71Sopenharmony_ci
901e41f4b71Sopenharmony_cigetPhotoAlbums(options: AlbumFetchOptions): Promise&lt;FetchResult&lt;Album&gt;&gt;;
902e41f4b71Sopenharmony_ci
903e41f4b71Sopenharmony_ci获取相册,使用Promise方式返回结果。
904e41f4b71Sopenharmony_ci
905e41f4b71Sopenharmony_ci该接口不支持获取隐藏相册,请使用[getHiddenAlbums](../apis-media-library-kit/js-apis-photoAccessHelper-sys.md#gethiddenalbums11)获得。
906e41f4b71Sopenharmony_ci
907e41f4b71Sopenharmony_ci此接口即将废弃,请使用[getAlbums<sup>10+</sup>](#getalbums10)的新接口。
908e41f4b71Sopenharmony_ci
909e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
910e41f4b71Sopenharmony_ci
911e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.READ_IMAGEVIDEO
912e41f4b71Sopenharmony_ci
913e41f4b71Sopenharmony_ci**参数:**
914e41f4b71Sopenharmony_ci
915e41f4b71Sopenharmony_ci| 参数名   | 类型                     | 必填 | 说明                      |
916e41f4b71Sopenharmony_ci| -------- | ------------------------ | ---- | ------------------------- |
917e41f4b71Sopenharmony_ci| options  | [AlbumFetchOptions](#albumfetchoptions)        | 是   | 相册检索选项。              |
918e41f4b71Sopenharmony_ci
919e41f4b71Sopenharmony_ci**返回值:**
920e41f4b71Sopenharmony_ci
921e41f4b71Sopenharmony_ci| 类型                        | 说明           |
922e41f4b71Sopenharmony_ci| --------------------------- | -------------- |
923e41f4b71Sopenharmony_ci| Promise&lt;[FetchResult](#fetchresult)&lt;[Album](#album)&gt;&gt; | Promise对象,返回相册检索结果。 |
924e41f4b71Sopenharmony_ci
925e41f4b71Sopenharmony_ci**错误码:**
926e41f4b71Sopenharmony_ci
927e41f4b71Sopenharmony_ci接口抛出错误码的详细介绍请参见[文件管理错误码](errorcode-filemanagement.md)。
928e41f4b71Sopenharmony_ci
929e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
930e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- |
931e41f4b71Sopenharmony_ci| 13900020   | if type options is not AlbumFetchOptions.         |
932e41f4b71Sopenharmony_ci
933e41f4b71Sopenharmony_ci**示例:**
934e41f4b71Sopenharmony_ci
935e41f4b71Sopenharmony_ci```ts
936e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
937e41f4b71Sopenharmony_ci
938e41f4b71Sopenharmony_ciasync function example() {
939e41f4b71Sopenharmony_ci  console.info('getPhotoAlbumsDemo');
940e41f4b71Sopenharmony_ci  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
941e41f4b71Sopenharmony_ci  let albumFetchOptions: userFileManager.AlbumFetchOptions = {
942e41f4b71Sopenharmony_ci    predicates: predicates
943e41f4b71Sopenharmony_ci  };
944e41f4b71Sopenharmony_ci  try {
945e41f4b71Sopenharmony_ci    let fetchResult: userFileManager.FetchResult<userFileManager.Album> = await mgr.getPhotoAlbums(albumFetchOptions);
946e41f4b71Sopenharmony_ci    console.info('album.count = ' + fetchResult.getCount());
947e41f4b71Sopenharmony_ci    const album: userFileManager.Album = await fetchResult.getFirstObject();
948e41f4b71Sopenharmony_ci    console.info('first album.albumName = ' + album.albumName);
949e41f4b71Sopenharmony_ci  } catch (err) {
950e41f4b71Sopenharmony_ci    console.error('getPhotoAlbums fail, message = ' + err);
951e41f4b71Sopenharmony_ci  }
952e41f4b71Sopenharmony_ci}
953e41f4b71Sopenharmony_ci```
954e41f4b71Sopenharmony_ci
955e41f4b71Sopenharmony_ci### getPrivateAlbum
956e41f4b71Sopenharmony_ci
957e41f4b71Sopenharmony_cigetPrivateAlbum(type: PrivateAlbumType, callback: AsyncCallback&lt;FetchResult&lt;PrivateAlbum&gt;&gt;): void;
958e41f4b71Sopenharmony_ci
959e41f4b71Sopenharmony_ci获取系统相册,使用 callback 方式返回系统相册的数组。
960e41f4b71Sopenharmony_ci
961e41f4b71Sopenharmony_ci此接口即将废弃,请使用[getAlbums<sup>10+</sup>](#getalbums10)的新接口。
962e41f4b71Sopenharmony_ci
963e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
964e41f4b71Sopenharmony_ci
965e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.READ_IMAGEVIDEO
966e41f4b71Sopenharmony_ci
967e41f4b71Sopenharmony_ci**参数:**
968e41f4b71Sopenharmony_ci
969e41f4b71Sopenharmony_ci| 参数名   | 类型                     | 必填 | 说明                      |
970e41f4b71Sopenharmony_ci| -------- | ------------------------ | ---- | ------------------------- |
971e41f4b71Sopenharmony_ci| type  | [PrivateAlbumType](#privatealbumtype)        | 是   | 系统相册类型。              |
972e41f4b71Sopenharmony_ci| callback |  AsyncCallback&lt;[FetchResult](#fetchresult)&lt;[PrivateAlbum](#privatealbum)&gt;&gt; | 是   | callback返回相册检索结果。 |
973e41f4b71Sopenharmony_ci
974e41f4b71Sopenharmony_ci**错误码:**
975e41f4b71Sopenharmony_ci
976e41f4b71Sopenharmony_ci接口抛出错误码的详细介绍请参见[文件管理错误码](errorcode-filemanagement.md)。
977e41f4b71Sopenharmony_ci
978e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
979e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- |
980e41f4b71Sopenharmony_ci| 13900020   | if type type is not PrivateAlbumType.         |
981e41f4b71Sopenharmony_ci
982e41f4b71Sopenharmony_ci**示例:**
983e41f4b71Sopenharmony_ci
984e41f4b71Sopenharmony_ci```ts
985e41f4b71Sopenharmony_ciasync function example() {
986e41f4b71Sopenharmony_ci  console.info('getPrivateAlbumDemo');
987e41f4b71Sopenharmony_ci  mgr.getPrivateAlbum(userFileManager.PrivateAlbumType.TYPE_TRASH, async (err, fetchResult) => {
988e41f4b71Sopenharmony_ci    if (fetchResult != undefined) {
989e41f4b71Sopenharmony_ci      let trashAlbum: userFileManager.PrivateAlbum = await fetchResult.getFirstObject();
990e41f4b71Sopenharmony_ci      console.info('first album.albumName = ' + trashAlbum.albumName);
991e41f4b71Sopenharmony_ci    } else {
992e41f4b71Sopenharmony_ci      console.error('getPrivateAlbum failed. message = ', err);
993e41f4b71Sopenharmony_ci    }
994e41f4b71Sopenharmony_ci  });
995e41f4b71Sopenharmony_ci}
996e41f4b71Sopenharmony_ci```
997e41f4b71Sopenharmony_ci
998e41f4b71Sopenharmony_ci### getPrivateAlbum
999e41f4b71Sopenharmony_ci
1000e41f4b71Sopenharmony_cigetPrivateAlbum(type: PrivateAlbumType): Promise&lt;FetchResult&lt;PrivateAlbum&gt;&gt;;
1001e41f4b71Sopenharmony_ci
1002e41f4b71Sopenharmony_ci获取系统相册,使用Promise方式返回结果。
1003e41f4b71Sopenharmony_ci
1004e41f4b71Sopenharmony_ci此接口即将废弃,请使用[getAlbums<sup>10+</sup>](#getalbums10)的新接口。
1005e41f4b71Sopenharmony_ci
1006e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
1007e41f4b71Sopenharmony_ci
1008e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.READ_IMAGEVIDEO
1009e41f4b71Sopenharmony_ci
1010e41f4b71Sopenharmony_ci**参数:**
1011e41f4b71Sopenharmony_ci
1012e41f4b71Sopenharmony_ci| 参数名   | 类型                     | 必填 | 说明                      |
1013e41f4b71Sopenharmony_ci| -------- | ------------------------ | ---- | ------------------------- |
1014e41f4b71Sopenharmony_ci| type  | [PrivateAlbumType](#privatealbumtype)        | 是   | 系统相册类型。              |
1015e41f4b71Sopenharmony_ci
1016e41f4b71Sopenharmony_ci**返回值:**
1017e41f4b71Sopenharmony_ci
1018e41f4b71Sopenharmony_ci| 类型                        | 说明           |
1019e41f4b71Sopenharmony_ci| --------------------------- | -------------- |
1020e41f4b71Sopenharmony_ci| Promise&lt;[FetchResult](#fetchresult)&lt;[PrivateAlbum](#privatealbum)&gt;&gt; | Promise对象,返回相册检索结果。 |
1021e41f4b71Sopenharmony_ci
1022e41f4b71Sopenharmony_ci**错误码:**
1023e41f4b71Sopenharmony_ci
1024e41f4b71Sopenharmony_ci接口抛出错误码的详细介绍请参见[文件管理错误码](errorcode-filemanagement.md)。
1025e41f4b71Sopenharmony_ci
1026e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
1027e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- |
1028e41f4b71Sopenharmony_ci| 13900020   | if type type is not PrivateAlbumType.         |
1029e41f4b71Sopenharmony_ci
1030e41f4b71Sopenharmony_ci**示例:**
1031e41f4b71Sopenharmony_ci
1032e41f4b71Sopenharmony_ci```ts
1033e41f4b71Sopenharmony_ciasync function example() {
1034e41f4b71Sopenharmony_ci  console.info('getPrivateAlbumDemo');
1035e41f4b71Sopenharmony_ci  try {
1036e41f4b71Sopenharmony_ci    let fetchResult: userFileManager.FetchResult<userFileManager.PrivateAlbum> = await mgr.getPrivateAlbum(userFileManager.PrivateAlbumType.TYPE_TRASH);
1037e41f4b71Sopenharmony_ci    let trashAlbum: userFileManager.PrivateAlbum = await fetchResult.getFirstObject();
1038e41f4b71Sopenharmony_ci    console.info('first album.albumName = ' + trashAlbum.albumName);
1039e41f4b71Sopenharmony_ci  } catch (err) {
1040e41f4b71Sopenharmony_ci    console.error('getPrivateAlbum failed. message = ', err);
1041e41f4b71Sopenharmony_ci  }
1042e41f4b71Sopenharmony_ci}
1043e41f4b71Sopenharmony_ci```
1044e41f4b71Sopenharmony_ci
1045e41f4b71Sopenharmony_ci### getAudioAssets
1046e41f4b71Sopenharmony_ci
1047e41f4b71Sopenharmony_cigetAudioAssets(options: FetchOptions, callback: AsyncCallback&lt;FetchResult&lt;FileAsset&gt;&gt;): void;
1048e41f4b71Sopenharmony_ci
1049e41f4b71Sopenharmony_ci获取音频文件,使用callback方式返回结果。
1050e41f4b71Sopenharmony_ci
1051e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
1052e41f4b71Sopenharmony_ci
1053e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.READ_AUDIO
1054e41f4b71Sopenharmony_ci
1055e41f4b71Sopenharmony_ci**参数:**
1056e41f4b71Sopenharmony_ci
1057e41f4b71Sopenharmony_ci| 参数名   | 类型                     | 必填 | 说明                      |
1058e41f4b71Sopenharmony_ci| -------- | ------------------------ | ---- | ------------------------- |
1059e41f4b71Sopenharmony_ci| options  | [FetchOptions](#fetchoptions)        | 是   | 检索选项。              |
1060e41f4b71Sopenharmony_ci| callback |  AsyncCallback&lt;[FetchResult](#fetchresult)&lt;[FileAsset](#fileasset)&gt;&gt; | 是   | callback返回音频检索结果。 |
1061e41f4b71Sopenharmony_ci
1062e41f4b71Sopenharmony_ci**错误码:**
1063e41f4b71Sopenharmony_ci
1064e41f4b71Sopenharmony_ci接口抛出错误码的详细介绍请参见[文件管理错误码](errorcode-filemanagement.md)。
1065e41f4b71Sopenharmony_ci
1066e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
1067e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- |
1068e41f4b71Sopenharmony_ci| 13900020   | if type options is not FetchOptions.         |
1069e41f4b71Sopenharmony_ci
1070e41f4b71Sopenharmony_ci**示例:**
1071e41f4b71Sopenharmony_ci
1072e41f4b71Sopenharmony_ci```ts
1073e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
1074e41f4b71Sopenharmony_ci
1075e41f4b71Sopenharmony_ciasync function example() {
1076e41f4b71Sopenharmony_ci  console.info('getAudioAssets');
1077e41f4b71Sopenharmony_ci  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
1078e41f4b71Sopenharmony_ci  let fetchOptions: userFileManager.FetchOptions = {
1079e41f4b71Sopenharmony_ci    fetchColumns: [],
1080e41f4b71Sopenharmony_ci    predicates: predicates
1081e41f4b71Sopenharmony_ci  };
1082e41f4b71Sopenharmony_ci
1083e41f4b71Sopenharmony_ci  mgr.getAudioAssets(fetchOptions, async (err, fetchResult) => {
1084e41f4b71Sopenharmony_ci    if (fetchResult != undefined) {
1085e41f4b71Sopenharmony_ci      console.info('fetchFileResult success');
1086e41f4b71Sopenharmony_ci      let fileAsset: userFileManager.FileAsset = await fetchResult.getFirstObject();
1087e41f4b71Sopenharmony_ci      if (fileAsset != undefined) {
1088e41f4b71Sopenharmony_ci        console.info('fileAsset.displayName :' + fileAsset.displayName);
1089e41f4b71Sopenharmony_ci      }
1090e41f4b71Sopenharmony_ci    } else {
1091e41f4b71Sopenharmony_ci      console.error('fetchFileResult fail' + err);
1092e41f4b71Sopenharmony_ci    }
1093e41f4b71Sopenharmony_ci  });
1094e41f4b71Sopenharmony_ci}
1095e41f4b71Sopenharmony_ci```
1096e41f4b71Sopenharmony_ci
1097e41f4b71Sopenharmony_ci### getAudioAssets
1098e41f4b71Sopenharmony_ci
1099e41f4b71Sopenharmony_cigetAudioAssets(options: FetchOptions): Promise&lt;FetchResult&lt;FileAsset&gt;&gt;;
1100e41f4b71Sopenharmony_ci
1101e41f4b71Sopenharmony_ci
1102e41f4b71Sopenharmony_ci获取音频文件,使用promise方式返回结果。
1103e41f4b71Sopenharmony_ci
1104e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
1105e41f4b71Sopenharmony_ci
1106e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.READ_AUDIO
1107e41f4b71Sopenharmony_ci
1108e41f4b71Sopenharmony_ci**参数:**
1109e41f4b71Sopenharmony_ci
1110e41f4b71Sopenharmony_ci| 参数名   | 类型                     | 必填 | 说明                      |
1111e41f4b71Sopenharmony_ci| -------- | ------------------------ | ---- | ------------------------- |
1112e41f4b71Sopenharmony_ci| options  | [FetchOptions](#fetchoptions)        | 是   | 检索选项。              |
1113e41f4b71Sopenharmony_ci
1114e41f4b71Sopenharmony_ci**返回值:**
1115e41f4b71Sopenharmony_ci
1116e41f4b71Sopenharmony_ci| 类型                        | 说明           |
1117e41f4b71Sopenharmony_ci| --------------------------- | -------------- |
1118e41f4b71Sopenharmony_ci| Promise&lt;[FetchResult](#fetchresult)&lt;[FileAsset](#fileasset)&gt;&gt; | Promise对象,返回音频检索结果。 |
1119e41f4b71Sopenharmony_ci
1120e41f4b71Sopenharmony_ci**错误码:**
1121e41f4b71Sopenharmony_ci
1122e41f4b71Sopenharmony_ci接口抛出错误码的详细介绍请参见[文件管理错误码](errorcode-filemanagement.md)。
1123e41f4b71Sopenharmony_ci
1124e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
1125e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- |
1126e41f4b71Sopenharmony_ci| 13900020   | if type options is not FetchOptions.         |
1127e41f4b71Sopenharmony_ci
1128e41f4b71Sopenharmony_ci**示例:**
1129e41f4b71Sopenharmony_ci
1130e41f4b71Sopenharmony_ci```ts
1131e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
1132e41f4b71Sopenharmony_ci
1133e41f4b71Sopenharmony_ciasync function example() {
1134e41f4b71Sopenharmony_ci  console.info('getAudioAssets');
1135e41f4b71Sopenharmony_ci  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
1136e41f4b71Sopenharmony_ci  let fetchOptions: userFileManager.FetchOptions = {
1137e41f4b71Sopenharmony_ci    fetchColumns: [],
1138e41f4b71Sopenharmony_ci    predicates: predicates
1139e41f4b71Sopenharmony_ci  };
1140e41f4b71Sopenharmony_ci  try {
1141e41f4b71Sopenharmony_ci    let fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await mgr.getAudioAssets(fetchOptions);
1142e41f4b71Sopenharmony_ci    if (fetchResult != undefined) {
1143e41f4b71Sopenharmony_ci      console.info('fetchFileResult success');
1144e41f4b71Sopenharmony_ci      let fileAsset: userFileManager.FileAsset = await fetchResult.getFirstObject();
1145e41f4b71Sopenharmony_ci      if (fileAsset != undefined) {
1146e41f4b71Sopenharmony_ci        console.info('fileAsset.displayName :' + fileAsset.displayName);
1147e41f4b71Sopenharmony_ci      }
1148e41f4b71Sopenharmony_ci    }
1149e41f4b71Sopenharmony_ci  } catch (err) {
1150e41f4b71Sopenharmony_ci    console.error('getAudioAssets failed, message = ', err);
1151e41f4b71Sopenharmony_ci  }
1152e41f4b71Sopenharmony_ci}
1153e41f4b71Sopenharmony_ci```
1154e41f4b71Sopenharmony_ci
1155e41f4b71Sopenharmony_ci### delete
1156e41f4b71Sopenharmony_ci
1157e41f4b71Sopenharmony_cidelete(uri: string, callback: AsyncCallback&lt;void&gt;): void;
1158e41f4b71Sopenharmony_ci
1159e41f4b71Sopenharmony_ci删除媒体文件,删除的文件进入到回收站。
1160e41f4b71Sopenharmony_ci
1161e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.READ_IMAGEVIDEOohos.permission.WRITE_IMAGEVIDEOohos.permission.READ_AUDIOohos.permission.WRITE_AUDIO
1162e41f4b71Sopenharmony_ci
1163e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
1164e41f4b71Sopenharmony_ci
1165e41f4b71Sopenharmony_ci**参数:**
1166e41f4b71Sopenharmony_ci
1167e41f4b71Sopenharmony_ci| 参数名   | 类型                      | 必填 | 说明       |
1168e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ---------- |
1169e41f4b71Sopenharmony_ci| uri | string | 是   | 媒体文件uri。 |
1170e41f4b71Sopenharmony_ci| callback | AsyncCallback&lt;void&gt; | 是   | callback返回void。 |
1171e41f4b71Sopenharmony_ci
1172e41f4b71Sopenharmony_ci**错误码:**
1173e41f4b71Sopenharmony_ci
1174e41f4b71Sopenharmony_ci接口抛出错误码的详细介绍请参见[文件管理错误码](errorcode-filemanagement.md)。
1175e41f4b71Sopenharmony_ci
1176e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
1177e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- |
1178e41f4b71Sopenharmony_ci| 13900020   | if type uri is not string.         |
1179e41f4b71Sopenharmony_ci
1180e41f4b71Sopenharmony_ci**示例:**
1181e41f4b71Sopenharmony_ci
1182e41f4b71Sopenharmony_ci```ts
1183e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
1184e41f4b71Sopenharmony_ci
1185e41f4b71Sopenharmony_ciasync function example() {
1186e41f4b71Sopenharmony_ci  console.info('deleteAssetDemo');
1187e41f4b71Sopenharmony_ci  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
1188e41f4b71Sopenharmony_ci  let fetchOptions: userFileManager.FetchOptions = {
1189e41f4b71Sopenharmony_ci    fetchColumns: [],
1190e41f4b71Sopenharmony_ci    predicates: predicates
1191e41f4b71Sopenharmony_ci  };
1192e41f4b71Sopenharmony_ci  try {
1193e41f4b71Sopenharmony_ci    const fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await mgr.getPhotoAssets(fetchOptions);
1194e41f4b71Sopenharmony_ci    let asset: userFileManager.FileAsset = await fetchResult.getFirstObject();
1195e41f4b71Sopenharmony_ci
1196e41f4b71Sopenharmony_ci
1197e41f4b71Sopenharmony_ci    if (asset == undefined) {
1198e41f4b71Sopenharmony_ci      console.error('asset not exist');
1199e41f4b71Sopenharmony_ci      return;
1200e41f4b71Sopenharmony_ci    }
1201e41f4b71Sopenharmony_ci    mgr.delete(asset.uri, (err) => {
1202e41f4b71Sopenharmony_ci      if (err == undefined) {
1203e41f4b71Sopenharmony_ci        console.info('delete successfully');
1204e41f4b71Sopenharmony_ci      } else {
1205e41f4b71Sopenharmony_ci        console.error('delete failed with error: ' + err);
1206e41f4b71Sopenharmony_ci      }
1207e41f4b71Sopenharmony_ci    });
1208e41f4b71Sopenharmony_ci  } catch (err) {
1209e41f4b71Sopenharmony_ci    console.error('fetch failed, message =', err);
1210e41f4b71Sopenharmony_ci  }
1211e41f4b71Sopenharmony_ci}
1212e41f4b71Sopenharmony_ci```
1213e41f4b71Sopenharmony_ci
1214e41f4b71Sopenharmony_ci### delete
1215e41f4b71Sopenharmony_ci
1216e41f4b71Sopenharmony_cidelete(uri: string): Promise&lt;void&gt;;
1217e41f4b71Sopenharmony_ci
1218e41f4b71Sopenharmony_ci删除媒体文件,删除的文件进入到回收站。
1219e41f4b71Sopenharmony_ci
1220e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.READ_IMAGEVIDEOohos.permission.WRITE_IMAGEVIDEOohos.permission.READ_AUDIOohos.permission.WRITE_AUDIO
1221e41f4b71Sopenharmony_ci
1222e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
1223e41f4b71Sopenharmony_ci
1224e41f4b71Sopenharmony_ci**参数:**
1225e41f4b71Sopenharmony_ci
1226e41f4b71Sopenharmony_ci| 参数名   | 类型                      | 必填 | 说明       |
1227e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ---------- |
1228e41f4b71Sopenharmony_ci| uri | string | 是   | 媒体文件uri。 |
1229e41f4b71Sopenharmony_ci
1230e41f4b71Sopenharmony_ci**返回值:**
1231e41f4b71Sopenharmony_ci
1232e41f4b71Sopenharmony_ci| 类型                                    | 说明              |
1233e41f4b71Sopenharmony_ci| --------------------------------------- | ----------------- |
1234e41f4b71Sopenharmony_ci| Promise&lt;void&gt;| Promise对象,返回void。 |
1235e41f4b71Sopenharmony_ci
1236e41f4b71Sopenharmony_ci**错误码:**
1237e41f4b71Sopenharmony_ci
1238e41f4b71Sopenharmony_ci接口抛出错误码的详细介绍请参见[文件管理错误码](errorcode-filemanagement.md)。
1239e41f4b71Sopenharmony_ci
1240e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
1241e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- |
1242e41f4b71Sopenharmony_ci| 13900020   | if type uri is not string.         |
1243e41f4b71Sopenharmony_ci
1244e41f4b71Sopenharmony_ci**示例:**
1245e41f4b71Sopenharmony_ci
1246e41f4b71Sopenharmony_ci```ts
1247e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
1248e41f4b71Sopenharmony_ci
1249e41f4b71Sopenharmony_ciasync function example() {
1250e41f4b71Sopenharmony_ci  console.info('deleteDemo');
1251e41f4b71Sopenharmony_ci  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
1252e41f4b71Sopenharmony_ci  let fetchOptions: userFileManager.FetchOptions = {
1253e41f4b71Sopenharmony_ci    fetchColumns: [],
1254e41f4b71Sopenharmony_ci    predicates: predicates
1255e41f4b71Sopenharmony_ci  };
1256e41f4b71Sopenharmony_ci  try {
1257e41f4b71Sopenharmony_ci    const fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await mgr.getPhotoAssets(fetchOptions);
1258e41f4b71Sopenharmony_ci    let asset: userFileManager.FileAsset = await fetchResult.getFirstObject();
1259e41f4b71Sopenharmony_ci    if (asset == undefined) {
1260e41f4b71Sopenharmony_ci      console.error('asset not exist');
1261e41f4b71Sopenharmony_ci      return;
1262e41f4b71Sopenharmony_ci    }
1263e41f4b71Sopenharmony_ci    await mgr.delete(asset.uri);
1264e41f4b71Sopenharmony_ci    console.info('delete successfully');
1265e41f4b71Sopenharmony_ci  } catch (err) {
1266e41f4b71Sopenharmony_ci    console.error('delete failed with error: ' + err);
1267e41f4b71Sopenharmony_ci  }
1268e41f4b71Sopenharmony_ci}
1269e41f4b71Sopenharmony_ci```
1270e41f4b71Sopenharmony_ci
1271e41f4b71Sopenharmony_ci### getActivePeers
1272e41f4b71Sopenharmony_ci
1273e41f4b71Sopenharmony_cigetActivePeers(callback: AsyncCallback&lt;Array&lt;PeerInfo&gt;&gt;): void;
1274e41f4b71Sopenharmony_ci
1275e41f4b71Sopenharmony_ci获取在线对端设备的信息,使用callback方式返回异步结果。
1276e41f4b71Sopenharmony_ci
1277e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.DistributedCore
1278e41f4b71Sopenharmony_ci
1279e41f4b71Sopenharmony_ci**参数:**
1280e41f4b71Sopenharmony_ci
1281e41f4b71Sopenharmony_ci| 参数名   | 类型                              | 必填 | 说明         |
1282e41f4b71Sopenharmony_ci| -------- | --------------------------------- | ---- | ------------ |
1283e41f4b71Sopenharmony_ci| callback | AsyncCallback&lt;Array&lt;[PeerInfo](#peerinfo)&gt;&gt; | 是   | 返回在线设备列表。 |
1284e41f4b71Sopenharmony_ci
1285e41f4b71Sopenharmony_ci**示例:**
1286e41f4b71Sopenharmony_ci
1287e41f4b71Sopenharmony_ci```ts
1288e41f4b71Sopenharmony_ciasync function example() {
1289e41f4b71Sopenharmony_ci  console.info('getActivePeersDemo');
1290e41f4b71Sopenharmony_ci  mgr.getActivePeers((err, devicesInfo) => {
1291e41f4b71Sopenharmony_ci    if (devicesInfo != undefined) {
1292e41f4b71Sopenharmony_ci      console.log('getActivePeers succeed.');
1293e41f4b71Sopenharmony_ci      for (let i = 0; i < devicesInfo.length; i++) {
1294e41f4b71Sopenharmony_ci        console.info('get distributed info ' + devicesInfo[i].deviceName + devicesInfo[i].networkId);
1295e41f4b71Sopenharmony_ci      }
1296e41f4b71Sopenharmony_ci    } else {
1297e41f4b71Sopenharmony_ci      console.error('getActivePeers failed. message = ', err);
1298e41f4b71Sopenharmony_ci    }
1299e41f4b71Sopenharmony_ci  });
1300e41f4b71Sopenharmony_ci}
1301e41f4b71Sopenharmony_ci```
1302e41f4b71Sopenharmony_ci
1303e41f4b71Sopenharmony_ci### getActivePeers
1304e41f4b71Sopenharmony_ci
1305e41f4b71Sopenharmony_cigetActivePeers(): Promise&lt;Array&lt;PeerInfo&gt;&gt;;
1306e41f4b71Sopenharmony_ci
1307e41f4b71Sopenharmony_ci获取在线对端设备的信息,使用promise方式返回异步结果。
1308e41f4b71Sopenharmony_ci
1309e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.DistributedCore
1310e41f4b71Sopenharmony_ci
1311e41f4b71Sopenharmony_ci**返回值:**
1312e41f4b71Sopenharmony_ci
1313e41f4b71Sopenharmony_ci| 类型                        | 说明                          |
1314e41f4b71Sopenharmony_ci| --------------------------- | ----------------------------- |
1315e41f4b71Sopenharmony_ci| Promise&lt;Array&lt;[PeerInfo](#peerinfo)&gt;&gt; | Promise对象,返回在线设备列表。 |
1316e41f4b71Sopenharmony_ci
1317e41f4b71Sopenharmony_ci**示例:**
1318e41f4b71Sopenharmony_ci
1319e41f4b71Sopenharmony_ci```ts
1320e41f4b71Sopenharmony_ciasync function example() {
1321e41f4b71Sopenharmony_ci  console.info('getActivePeersDemo');
1322e41f4b71Sopenharmony_ci  try {
1323e41f4b71Sopenharmony_ci    let devicesInfo: Array<userFileManager.PeerInfo> = await mgr.getActivePeers();
1324e41f4b71Sopenharmony_ci    if (devicesInfo != undefined) {
1325e41f4b71Sopenharmony_ci      console.log('getActivePeers succeed.');
1326e41f4b71Sopenharmony_ci      for (let i = 0; i < devicesInfo.length; i++) {
1327e41f4b71Sopenharmony_ci        console.info('get distributed info ' + devicesInfo[i].deviceName + devicesInfo[i].networkId);
1328e41f4b71Sopenharmony_ci      }
1329e41f4b71Sopenharmony_ci    } else {
1330e41f4b71Sopenharmony_ci      console.error('get distributed fail');
1331e41f4b71Sopenharmony_ci    }
1332e41f4b71Sopenharmony_ci  } catch (err) {
1333e41f4b71Sopenharmony_ci    console.error('getActivePeers failed. message = ', err);
1334e41f4b71Sopenharmony_ci  }
1335e41f4b71Sopenharmony_ci}
1336e41f4b71Sopenharmony_ci```
1337e41f4b71Sopenharmony_ci
1338e41f4b71Sopenharmony_ci### getAllPeers
1339e41f4b71Sopenharmony_ci
1340e41f4b71Sopenharmony_cigetAllPeers(callback: AsyncCallback&lt;Array&lt;PeerInfo&gt;&gt;): void;
1341e41f4b71Sopenharmony_ci
1342e41f4b71Sopenharmony_ci获取所有对端设备的信息,使用callback方式返回异步结果。
1343e41f4b71Sopenharmony_ci
1344e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.DistributedCore
1345e41f4b71Sopenharmony_ci
1346e41f4b71Sopenharmony_ci**参数:**
1347e41f4b71Sopenharmony_ci
1348e41f4b71Sopenharmony_ci| 参数名   | 类型                              | 必填 | 说明         |
1349e41f4b71Sopenharmony_ci| -------- | --------------------------------- | ---- | ------------ |
1350e41f4b71Sopenharmony_ci| callback | AsyncCallback&lt;Array&lt;[PeerInfo](#peerinfo)&gt;&gt; | 是   | 返回在线设备列表。 |
1351e41f4b71Sopenharmony_ci
1352e41f4b71Sopenharmony_ci**示例:**
1353e41f4b71Sopenharmony_ci
1354e41f4b71Sopenharmony_ci```ts
1355e41f4b71Sopenharmony_ciasync function example() {
1356e41f4b71Sopenharmony_ci  console.info('getAllPeersDemo');
1357e41f4b71Sopenharmony_ci  mgr.getAllPeers((err, devicesInfo) => {
1358e41f4b71Sopenharmony_ci    if (devicesInfo != undefined) {
1359e41f4b71Sopenharmony_ci      console.log('getAllPeers succeed.');
1360e41f4b71Sopenharmony_ci      for (let i = 0; i < devicesInfo.length; i++) {
1361e41f4b71Sopenharmony_ci        console.info('get distributed info ' + devicesInfo[i].deviceName + devicesInfo[i].networkId);
1362e41f4b71Sopenharmony_ci      }
1363e41f4b71Sopenharmony_ci    } else {
1364e41f4b71Sopenharmony_ci      console.error('getAllPeers failed. message = ', err);
1365e41f4b71Sopenharmony_ci    }
1366e41f4b71Sopenharmony_ci  });
1367e41f4b71Sopenharmony_ci}
1368e41f4b71Sopenharmony_ci```
1369e41f4b71Sopenharmony_ci
1370e41f4b71Sopenharmony_ci### getAllPeers
1371e41f4b71Sopenharmony_ci
1372e41f4b71Sopenharmony_cigetAllPeers(): Promise&lt;Array&lt;PeerInfo&gt;&gt;;
1373e41f4b71Sopenharmony_ci
1374e41f4b71Sopenharmony_ci获取所有对端设备的信息,使用promise方式返回异步结果。
1375e41f4b71Sopenharmony_ci
1376e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.DistributedCore
1377e41f4b71Sopenharmony_ci
1378e41f4b71Sopenharmony_ci**返回值:**
1379e41f4b71Sopenharmony_ci
1380e41f4b71Sopenharmony_ci| 类型                        | 说明                          |
1381e41f4b71Sopenharmony_ci| --------------------------- | ----------------------------- |
1382e41f4b71Sopenharmony_ci| Promise&lt;Array&lt;[PeerInfo](#peerinfo)&gt;&gt; | Promise对象,返回所有设备列表。 |
1383e41f4b71Sopenharmony_ci
1384e41f4b71Sopenharmony_ci**示例:**
1385e41f4b71Sopenharmony_ci
1386e41f4b71Sopenharmony_ci```ts
1387e41f4b71Sopenharmony_ciasync function example() {
1388e41f4b71Sopenharmony_ci  console.info('getAllPeersDemo');
1389e41f4b71Sopenharmony_ci  try {
1390e41f4b71Sopenharmony_ci    let devicesInfo: Array<userFileManager.PeerInfo> = await mgr.getAllPeers();
1391e41f4b71Sopenharmony_ci
1392e41f4b71Sopenharmony_ci    if (devicesInfo != undefined) {
1393e41f4b71Sopenharmony_ci      console.log('getAllPeers succeed.');
1394e41f4b71Sopenharmony_ci      for (let i = 0; i < devicesInfo.length; i++) {
1395e41f4b71Sopenharmony_ci        console.info('get distributed info ' + devicesInfo[i].deviceName + devicesInfo[i].networkId);
1396e41f4b71Sopenharmony_ci      }
1397e41f4b71Sopenharmony_ci    } else {
1398e41f4b71Sopenharmony_ci      console.error('get distributed fail');
1399e41f4b71Sopenharmony_ci    }
1400e41f4b71Sopenharmony_ci  } catch (err) {
1401e41f4b71Sopenharmony_ci    console.error('getAllPeers failed. message = ', err);
1402e41f4b71Sopenharmony_ci  }
1403e41f4b71Sopenharmony_ci}
1404e41f4b71Sopenharmony_ci```
1405e41f4b71Sopenharmony_ci
1406e41f4b71Sopenharmony_ci### getPhotoIndex<sup>10+</sup>
1407e41f4b71Sopenharmony_ci
1408e41f4b71Sopenharmony_cigetPhotoIndex(photoUri: string, albumUri: string, options: FetchOptions, callback: AsyncCallback&lt;number&gt;): void
1409e41f4b71Sopenharmony_ci
1410e41f4b71Sopenharmony_ci获取相册中图片或视频的位置,使用callback方式返回结果。
1411e41f4b71Sopenharmony_ci
1412e41f4b71Sopenharmony_ci**系统接口**:此接口为系统接口。
1413e41f4b71Sopenharmony_ci
1414e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.READ_IMAGEVIDEO
1415e41f4b71Sopenharmony_ci
1416e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
1417e41f4b71Sopenharmony_ci
1418e41f4b71Sopenharmony_ci**参数:**
1419e41f4b71Sopenharmony_ci
1420e41f4b71Sopenharmony_ci| 参数名   | 类型                      | 必填 | 说明       |
1421e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ---------- |
1422e41f4b71Sopenharmony_ci| photoUri | string | 是   | 所查询的图库资源的uri。 |
1423e41f4b71Sopenharmony_ci| albumUri | string | 是   | 相册uri,可以为空字符串,为空字符串时默认查询全部图库资源。   |
1424e41f4b71Sopenharmony_ci| options  | [FetchOptions](#fetchoptions)       | 是   |  检索选项,predicates中必须设置一种检索排序方式,不设置或多设置均会导致接口调用异常。      |
1425e41f4b71Sopenharmony_ci| callback | AsyncCallback&lt;number&gt;| 是   | callback返回相册中资源的索引。 |
1426e41f4b71Sopenharmony_ci
1427e41f4b71Sopenharmony_ci**错误码:**
1428e41f4b71Sopenharmony_ci
1429e41f4b71Sopenharmony_ci接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
1430e41f4b71Sopenharmony_ci
1431e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
1432e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- |
1433e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
1434e41f4b71Sopenharmony_ci
1435e41f4b71Sopenharmony_ci**示例:**
1436e41f4b71Sopenharmony_ci
1437e41f4b71Sopenharmony_ci```ts
1438e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
1439e41f4b71Sopenharmony_ci
1440e41f4b71Sopenharmony_ciasync function example() {
1441e41f4b71Sopenharmony_ci  try {
1442e41f4b71Sopenharmony_ci    console.info('getPhotoIndexDemo');
1443e41f4b71Sopenharmony_ci    let predicatesForGetAsset: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
1444e41f4b71Sopenharmony_ci    let fetchOp: userFileManager.FetchOptions = {
1445e41f4b71Sopenharmony_ci      fetchColumns: [],
1446e41f4b71Sopenharmony_ci      predicates: predicatesForGetAsset
1447e41f4b71Sopenharmony_ci    };
1448e41f4b71Sopenharmony_ci    // Obtain the uri of the album
1449e41f4b71Sopenharmony_ci    let albumFetchResult: userFileManager.FetchResult<userFileManager.Album> = await mgr.getAlbums(userFileManager.AlbumType.SYSTEM, userFileManager.AlbumSubType.FAVORITE, fetchOp);
1450e41f4b71Sopenharmony_ci    let album: userFileManager.Album = await albumFetchResult.getFirstObject();
1451e41f4b71Sopenharmony_ci    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
1452e41f4b71Sopenharmony_ci    predicates.orderByAsc(userFileManager.ImageVideoKey.DATE_MODIFIED.toString());
1453e41f4b71Sopenharmony_ci    let fetchOptions: userFileManager.FetchOptions = {
1454e41f4b71Sopenharmony_ci      fetchColumns: [userFileManager.ImageVideoKey.DATE_MODIFIED.toString()],
1455e41f4b71Sopenharmony_ci      predicates: predicates
1456e41f4b71Sopenharmony_ci    };
1457e41f4b71Sopenharmony_ci    let photoFetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await album.getPhotoAssets(fetchOptions);
1458e41f4b71Sopenharmony_ci    let expectIndex = 1;
1459e41f4b71Sopenharmony_ci    // Obtain the uri of the second file
1460e41f4b71Sopenharmony_ci    let photoAsset: userFileManager.FileAsset = await photoFetchResult.getPositionObject(expectIndex);
1461e41f4b71Sopenharmony_ci    mgr.getPhotoIndex(photoAsset.uri, album.albumUri, fetchOptions, (err, index) => {
1462e41f4b71Sopenharmony_ci      if (err == undefined) {
1463e41f4b71Sopenharmony_ci        console.info(`getPhotoIndex successfully and index is : ${index}`);
1464e41f4b71Sopenharmony_ci      } else {
1465e41f4b71Sopenharmony_ci        console.error(`getPhotoIndex failed;`);
1466e41f4b71Sopenharmony_ci      }
1467e41f4b71Sopenharmony_ci    });
1468e41f4b71Sopenharmony_ci  } catch (error) {
1469e41f4b71Sopenharmony_ci    console.error(`getPhotoIndex failed; error: ${error}`);
1470e41f4b71Sopenharmony_ci  }
1471e41f4b71Sopenharmony_ci}
1472e41f4b71Sopenharmony_ci```
1473e41f4b71Sopenharmony_ci
1474e41f4b71Sopenharmony_ci### getPhotoIndex<sup>10+</sup>
1475e41f4b71Sopenharmony_ci
1476e41f4b71Sopenharmony_cigetPhotoIndex(photoUri: string, albumUri: string, options: FetchOptions): Promise&lt;number&gt;
1477e41f4b71Sopenharmony_ci
1478e41f4b71Sopenharmony_ci获取相册中图片或视频的位置,使用Promise方式返回结果。
1479e41f4b71Sopenharmony_ci
1480e41f4b71Sopenharmony_ci**系统接口**:此接口为系统接口。
1481e41f4b71Sopenharmony_ci
1482e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.READ_IMAGEVIDEO
1483e41f4b71Sopenharmony_ci
1484e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
1485e41f4b71Sopenharmony_ci
1486e41f4b71Sopenharmony_ci**参数:**
1487e41f4b71Sopenharmony_ci
1488e41f4b71Sopenharmony_ci| 参数名   | 类型                      | 必填 | 说明       |
1489e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ---------- |
1490e41f4b71Sopenharmony_ci| photoUri | string | 是   | 所查询的图库资源的uri。 |
1491e41f4b71Sopenharmony_ci| albumUri | string | 是   | 相册uri,可以为空字符串,为空字符串时默认查询全部图库资源。   |
1492e41f4b71Sopenharmony_ci| options  | [FetchOptions](#fetchoptions)       | 是   |  检索选项,predicates中必须设置一种检索排序方式,不设置或多设置均会导致接口调用异常。      |
1493e41f4b71Sopenharmony_ci
1494e41f4b71Sopenharmony_ci**返回值:**
1495e41f4b71Sopenharmony_ci
1496e41f4b71Sopenharmony_ci| 类型                                    | 说明              |
1497e41f4b71Sopenharmony_ci| --------------------------------------- | ----------------- |
1498e41f4b71Sopenharmony_ci| Promise&lt;number&gt;| 返回相册中资源的索引。 |
1499e41f4b71Sopenharmony_ci
1500e41f4b71Sopenharmony_ci**错误码:**
1501e41f4b71Sopenharmony_ci
1502e41f4b71Sopenharmony_ci接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
1503e41f4b71Sopenharmony_ci
1504e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
1505e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- |
1506e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
1507e41f4b71Sopenharmony_ci
1508e41f4b71Sopenharmony_ci**示例:**
1509e41f4b71Sopenharmony_ci
1510e41f4b71Sopenharmony_ci```ts
1511e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
1512e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
1513e41f4b71Sopenharmony_ci
1514e41f4b71Sopenharmony_ciasync function example() {
1515e41f4b71Sopenharmony_ci  try {
1516e41f4b71Sopenharmony_ci    console.info('getPhotoIndexDemo');
1517e41f4b71Sopenharmony_ci    let predicatesForGetAsset: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
1518e41f4b71Sopenharmony_ci    let fetchOp: userFileManager.FetchOptions = {
1519e41f4b71Sopenharmony_ci      fetchColumns: [],
1520e41f4b71Sopenharmony_ci      predicates: predicatesForGetAsset
1521e41f4b71Sopenharmony_ci    };
1522e41f4b71Sopenharmony_ci    // Obtain the uri of the album
1523e41f4b71Sopenharmony_ci    let albumFetchResult: userFileManager.FetchResult<userFileManager.Album> = await mgr.getAlbums(userFileManager.AlbumType.SYSTEM, userFileManager.AlbumSubType.FAVORITE, fetchOp);
1524e41f4b71Sopenharmony_ci    let album: userFileManager.Album = await albumFetchResult.getFirstObject();
1525e41f4b71Sopenharmony_ci    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
1526e41f4b71Sopenharmony_ci    predicates.orderByAsc(userFileManager.ImageVideoKey.DATE_MODIFIED.toString());
1527e41f4b71Sopenharmony_ci    let fetchOptions: userFileManager.FetchOptions = {
1528e41f4b71Sopenharmony_ci      fetchColumns: [userFileManager.ImageVideoKey.DATE_MODIFIED.toString()],
1529e41f4b71Sopenharmony_ci      predicates: predicates
1530e41f4b71Sopenharmony_ci    };
1531e41f4b71Sopenharmony_ci    let photoFetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await album.getPhotoAssets(fetchOptions);
1532e41f4b71Sopenharmony_ci    let expectIndex = 1;
1533e41f4b71Sopenharmony_ci    // Obtain the uri of the second file
1534e41f4b71Sopenharmony_ci    let photoAsset: userFileManager.FileAsset = await photoFetchResult.getPositionObject(expectIndex);
1535e41f4b71Sopenharmony_ci    mgr.getPhotoIndex(photoAsset.uri, album.albumUri, fetchOptions).then((index) => {
1536e41f4b71Sopenharmony_ci      console.info(`getPhotoIndex successfully and index is : ${index}`);
1537e41f4b71Sopenharmony_ci    }).catch((err: BusinessError) => {
1538e41f4b71Sopenharmony_ci      console.error(`getPhotoIndex failed; error: ${err}`);
1539e41f4b71Sopenharmony_ci    });
1540e41f4b71Sopenharmony_ci  } catch (error) {
1541e41f4b71Sopenharmony_ci    console.error(`getPhotoIndex failed; error: ${error}`);
1542e41f4b71Sopenharmony_ci  }
1543e41f4b71Sopenharmony_ci}
1544e41f4b71Sopenharmony_ci```
1545e41f4b71Sopenharmony_ci
1546e41f4b71Sopenharmony_ci### release
1547e41f4b71Sopenharmony_ci
1548e41f4b71Sopenharmony_cirelease(callback: AsyncCallback&lt;void&gt;): void
1549e41f4b71Sopenharmony_ci
1550e41f4b71Sopenharmony_ci释放UserFileManager实例,使用callback方式返回结果。
1551e41f4b71Sopenharmony_ci当后续不需要使用UserFileManager实例中的方法时调用。
1552e41f4b71Sopenharmony_ci
1553e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
1554e41f4b71Sopenharmony_ci
1555e41f4b71Sopenharmony_ci**参数:**
1556e41f4b71Sopenharmony_ci
1557e41f4b71Sopenharmony_ci| 参数名   | 类型                      | 必填 | 说明                 |
1558e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | -------------------- |
1559e41f4b71Sopenharmony_ci| callback | AsyncCallback&lt;void&gt; | 是   | 回调表示成功还是失败。 |
1560e41f4b71Sopenharmony_ci
1561e41f4b71Sopenharmony_ci**示例:**
1562e41f4b71Sopenharmony_ci
1563e41f4b71Sopenharmony_ci```ts
1564e41f4b71Sopenharmony_ciasync function example() {
1565e41f4b71Sopenharmony_ci  console.info('releaseDemo');
1566e41f4b71Sopenharmony_ci  mgr.release((err) => {
1567e41f4b71Sopenharmony_ci    if (err != undefined) {
1568e41f4b71Sopenharmony_ci      console.error('release failed. message = ', err);
1569e41f4b71Sopenharmony_ci    } else {
1570e41f4b71Sopenharmony_ci      console.info('release ok.');
1571e41f4b71Sopenharmony_ci    }
1572e41f4b71Sopenharmony_ci  });
1573e41f4b71Sopenharmony_ci}
1574e41f4b71Sopenharmony_ci```
1575e41f4b71Sopenharmony_ci
1576e41f4b71Sopenharmony_ci### release
1577e41f4b71Sopenharmony_ci
1578e41f4b71Sopenharmony_cirelease(): Promise&lt;void&gt;
1579e41f4b71Sopenharmony_ci
1580e41f4b71Sopenharmony_ci释放UserFileManager实例,使用Promise方式返回结果。
1581e41f4b71Sopenharmony_ci当后续不需要使用UserFileManager 实例中的方法时调用。
1582e41f4b71Sopenharmony_ci
1583e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
1584e41f4b71Sopenharmony_ci
1585e41f4b71Sopenharmony_ci**返回值:**
1586e41f4b71Sopenharmony_ci
1587e41f4b71Sopenharmony_ci| 类型                | 说明                              |
1588e41f4b71Sopenharmony_ci| ------------------- | --------------------------------- |
1589e41f4b71Sopenharmony_ci| Promise&lt;void&gt; | Promise对象,返回void。 |
1590e41f4b71Sopenharmony_ci
1591e41f4b71Sopenharmony_ci**示例:**
1592e41f4b71Sopenharmony_ci
1593e41f4b71Sopenharmony_ci```ts
1594e41f4b71Sopenharmony_ciasync function example() {
1595e41f4b71Sopenharmony_ci  console.info('releaseDemo');
1596e41f4b71Sopenharmony_ci  try {
1597e41f4b71Sopenharmony_ci    await mgr.release();
1598e41f4b71Sopenharmony_ci    console.info('release ok.');
1599e41f4b71Sopenharmony_ci  } catch (err) {
1600e41f4b71Sopenharmony_ci    console.error('release failed. message = ', err);
1601e41f4b71Sopenharmony_ci  }
1602e41f4b71Sopenharmony_ci}
1603e41f4b71Sopenharmony_ci```
1604e41f4b71Sopenharmony_ci
1605e41f4b71Sopenharmony_ci### on<sup>10+</sup>
1606e41f4b71Sopenharmony_ci
1607e41f4b71Sopenharmony_cion(uri: string, forSubUri: boolean, callback: Callback&lt;ChangeData&gt;) : void
1608e41f4b71Sopenharmony_ci
1609e41f4b71Sopenharmony_ci对指定uri注册监听,使用callback方式返回异步结果。
1610e41f4b71Sopenharmony_ci
1611e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
1612e41f4b71Sopenharmony_ci
1613e41f4b71Sopenharmony_ci**参数:**
1614e41f4b71Sopenharmony_ci
1615e41f4b71Sopenharmony_ci| 参数名    | 类型                                        | 必填 | 说明                                                         |
1616e41f4b71Sopenharmony_ci| --------- | ------------------------------------------- | ---- | ------------------------------------------------------------ |
1617e41f4b71Sopenharmony_ci| uri       | string                                      | 是   | FileAsset的uri, Album的uri或[DefaultChangeUri](#defaultchangeuri10)的值。 |
1618e41f4b71Sopenharmony_ci| forSubUri | boolean                                     | 是   | 是否模糊监听,uri为相册uri时,forSubUri 为true能监听到相册中文件的变化,如果是false只能监听相册本身变化。uri为fileAsset时,forSubUri 为true、false没有区别。uri为DefaultChangeUri时,forSubUri必须为true,如果为false将找不到该uri,收不到任何消息。 |
1619e41f4b71Sopenharmony_ci| callback  | Callback&lt;[ChangeData](#changedata10)&gt; | 是   | 返回要监听的[ChangeData](#changedata10)。注:uri可以注册多个不同的callback监听,[off<sup>10+</sup>](#off10)可以关闭该uri所有监听,也可以关闭指定callback的监听。 |
1620e41f4b71Sopenharmony_ci
1621e41f4b71Sopenharmony_ci**错误码:**
1622e41f4b71Sopenharmony_ci
1623e41f4b71Sopenharmony_ci接口抛出错误码的详细介绍请参见[文件管理错误码](errorcode-filemanagement.md)。
1624e41f4b71Sopenharmony_ci
1625e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
1626e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- |
1627e41f4b71Sopenharmony_ci| 13900020   | if parameter is invalid.         |
1628e41f4b71Sopenharmony_ci
1629e41f4b71Sopenharmony_ci**示例:**
1630e41f4b71Sopenharmony_ci
1631e41f4b71Sopenharmony_ci```ts
1632e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
1633e41f4b71Sopenharmony_ci
1634e41f4b71Sopenharmony_ciasync function example() {
1635e41f4b71Sopenharmony_ci  console.info('onDemo');
1636e41f4b71Sopenharmony_ci  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
1637e41f4b71Sopenharmony_ci  let fetchOptions: userFileManager.FetchOptions = {
1638e41f4b71Sopenharmony_ci    fetchColumns: [],
1639e41f4b71Sopenharmony_ci    predicates: predicates
1640e41f4b71Sopenharmony_ci  };
1641e41f4b71Sopenharmony_ci  let fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await mgr.getPhotoAssets(fetchOptions);
1642e41f4b71Sopenharmony_ci  let fileAsset: userFileManager.FileAsset = await fetchResult.getFirstObject();
1643e41f4b71Sopenharmony_ci  if (fileAsset != undefined) {
1644e41f4b71Sopenharmony_ci    console.info('fileAsset.displayName : ' + fileAsset.displayName);
1645e41f4b71Sopenharmony_ci  }
1646e41f4b71Sopenharmony_ci  let onCallback1 = (changeData: userFileManager.ChangeData) => {
1647e41f4b71Sopenharmony_ci      console.info('onCallback1 success, changData: ' + JSON.stringify(changeData));
1648e41f4b71Sopenharmony_ci    //file had changed, do something
1649e41f4b71Sopenharmony_ci  }
1650e41f4b71Sopenharmony_ci  let onCallback2 = (changeData: userFileManager.ChangeData) => {
1651e41f4b71Sopenharmony_ci      console.info('onCallback2 success, changData: ' + JSON.stringify(changeData));
1652e41f4b71Sopenharmony_ci    //file had changed, do something
1653e41f4b71Sopenharmony_ci  }
1654e41f4b71Sopenharmony_ci  // 注册onCallback1监听
1655e41f4b71Sopenharmony_ci  mgr.on(fileAsset.uri, false, onCallback1);
1656e41f4b71Sopenharmony_ci  // 注册onCallback2监听
1657e41f4b71Sopenharmony_ci  mgr.on(fileAsset.uri, false, onCallback2);
1658e41f4b71Sopenharmony_ci
1659e41f4b71Sopenharmony_ci  fileAsset.favorite(true, (err) => {
1660e41f4b71Sopenharmony_ci    if (err == undefined) {
1661e41f4b71Sopenharmony_ci      console.info('favorite successfully');
1662e41f4b71Sopenharmony_ci    } else {
1663e41f4b71Sopenharmony_ci      console.error('favorite failed with error:' + err);
1664e41f4b71Sopenharmony_ci    }
1665e41f4b71Sopenharmony_ci  });
1666e41f4b71Sopenharmony_ci}
1667e41f4b71Sopenharmony_ci```
1668e41f4b71Sopenharmony_ci
1669e41f4b71Sopenharmony_ci### off<sup>10+</sup>
1670e41f4b71Sopenharmony_ci
1671e41f4b71Sopenharmony_ci off(uri: string, callback?: Callback&lt;ChangeData&gt;): void
1672e41f4b71Sopenharmony_ci
1673e41f4b71Sopenharmony_ci取消对指定uri的监听,一个uri可以注册多个监听,存在多个callback监听时,可以取消指定注册的callback的监听;不指定callback时解除该uri的所有监听。
1674e41f4b71Sopenharmony_ci
1675e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
1676e41f4b71Sopenharmony_ci
1677e41f4b71Sopenharmony_ci**参数:**
1678e41f4b71Sopenharmony_ci
1679e41f4b71Sopenharmony_ci| 参数名   | 类型                                        | 必填 | 说明                                                         |
1680e41f4b71Sopenharmony_ci| -------- | ------------------------------------------- | ---- | ------------------------------------------------------------ |
1681e41f4b71Sopenharmony_ci| uri      | string                                      | 是   | FileAsset的uri, Album的uri或[DefaultChangeUri](#defaultchangeuri10)的值。 |
1682e41f4b71Sopenharmony_ci| callback | Callback&lt;[ChangeData](#changedata10)&gt; | 否   | 取消[on<sup>10+</sup>](#on10)注册时的callback的监听,不填时,取消该uri的所有监听。注:off指定注册的callback后不会进入此回调。 |
1683e41f4b71Sopenharmony_ci
1684e41f4b71Sopenharmony_ci**错误码:**
1685e41f4b71Sopenharmony_ci
1686e41f4b71Sopenharmony_ci接口抛出错误码的详细介绍请参见[文件管理错误码](errorcode-filemanagement.md)。
1687e41f4b71Sopenharmony_ci
1688e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
1689e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- |
1690e41f4b71Sopenharmony_ci| 13900020   | if parameter is invalid.         |
1691e41f4b71Sopenharmony_ci
1692e41f4b71Sopenharmony_ci**示例:**
1693e41f4b71Sopenharmony_ci
1694e41f4b71Sopenharmony_ci```ts
1695e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
1696e41f4b71Sopenharmony_ci
1697e41f4b71Sopenharmony_ciasync function example() {
1698e41f4b71Sopenharmony_ci  console.info('offDemo');
1699e41f4b71Sopenharmony_ci  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
1700e41f4b71Sopenharmony_ci  let fetchOptions: userFileManager.FetchOptions = {
1701e41f4b71Sopenharmony_ci    fetchColumns: [],
1702e41f4b71Sopenharmony_ci    predicates: predicates
1703e41f4b71Sopenharmony_ci  };
1704e41f4b71Sopenharmony_ci  let fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await mgr.getPhotoAssets(fetchOptions);
1705e41f4b71Sopenharmony_ci  let fileAsset: userFileManager.FileAsset = await fetchResult.getFirstObject();
1706e41f4b71Sopenharmony_ci  if (fileAsset != undefined) {
1707e41f4b71Sopenharmony_ci    console.info('fileAsset.displayName : ' + fileAsset.displayName);
1708e41f4b71Sopenharmony_ci  }
1709e41f4b71Sopenharmony_ci  let onCallback1 = (changeData: userFileManager.ChangeData) => {
1710e41f4b71Sopenharmony_ci    console.info('onCallback1 on');
1711e41f4b71Sopenharmony_ci  }
1712e41f4b71Sopenharmony_ci  let onCallback2 = (changeData: userFileManager.ChangeData) => {
1713e41f4b71Sopenharmony_ci    console.info('onCallback2 on');
1714e41f4b71Sopenharmony_ci  }
1715e41f4b71Sopenharmony_ci  // 注册onCallback1监听
1716e41f4b71Sopenharmony_ci  mgr.on(fileAsset.uri, false, onCallback1);
1717e41f4b71Sopenharmony_ci  // 注册onCallback2监听
1718e41f4b71Sopenharmony_ci  mgr.on(fileAsset.uri, false, onCallback2);
1719e41f4b71Sopenharmony_ci  // 关闭onCallback1监听,onCallback2 继续监听
1720e41f4b71Sopenharmony_ci  mgr.off(fileAsset.uri, onCallback1);
1721e41f4b71Sopenharmony_ci  fileAsset.favorite(true, (err) => {
1722e41f4b71Sopenharmony_ci    if (err == undefined) {
1723e41f4b71Sopenharmony_ci      console.info('favorite successfully');
1724e41f4b71Sopenharmony_ci    } else {
1725e41f4b71Sopenharmony_ci      console.error('favorite failed with error:' + err);
1726e41f4b71Sopenharmony_ci    }
1727e41f4b71Sopenharmony_ci  });
1728e41f4b71Sopenharmony_ci}
1729e41f4b71Sopenharmony_ci```
1730e41f4b71Sopenharmony_ci
1731e41f4b71Sopenharmony_ci### on
1732e41f4b71Sopenharmony_ci
1733e41f4b71Sopenharmony_cion(type: ChangeEvent, callback: Callback&lt;void&gt;): void
1734e41f4b71Sopenharmony_ci
1735e41f4b71Sopenharmony_ci打开文件管理库变更通知,使用callback方式返回异步结果。
1736e41f4b71Sopenharmony_ci
1737e41f4b71Sopenharmony_ci此接口即将废弃,请使用[on<sup>10+</sup>](#on10)的新接口。
1738e41f4b71Sopenharmony_ci
1739e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
1740e41f4b71Sopenharmony_ci
1741e41f4b71Sopenharmony_ci**参数:**
1742e41f4b71Sopenharmony_ci
1743e41f4b71Sopenharmony_ci| 参数名   | 类型                 | 必填 | 说明                                                         |
1744e41f4b71Sopenharmony_ci| -------- | -------------------- | ---- | ------------------------------------------------------------ |
1745e41f4b71Sopenharmony_ci| type     | [ChangeEvent](#changeevent)               | 是   | 媒体类型 <br/>'deviceChange':&nbsp;注册设备变更 <br/>'albumChange':&nbsp;相册变更<br/>'imageChange':&nbsp;图片文件变更<br/>'audioChange': &nbsp;音频文件变更<br/>'videoChange':  &nbsp;视频文件变更<br/>'remoteFileChange':&nbsp;注册设备上文件变更 |
1746e41f4b71Sopenharmony_ci| callback | Callback&lt;void&gt; | 是   | callback返回void                                                   |
1747e41f4b71Sopenharmony_ci
1748e41f4b71Sopenharmony_ci**示例:**
1749e41f4b71Sopenharmony_ci
1750e41f4b71Sopenharmony_ci```ts
1751e41f4b71Sopenharmony_ciasync function example() {
1752e41f4b71Sopenharmony_ci  console.info('onDemo');
1753e41f4b71Sopenharmony_ci  let count = 0;
1754e41f4b71Sopenharmony_ci  mgr.on('imageChange', () => {
1755e41f4b71Sopenharmony_ci    count++;
1756e41f4b71Sopenharmony_ci    // image file had changed, do something
1757e41f4b71Sopenharmony_ci  });
1758e41f4b71Sopenharmony_ci  try {
1759e41f4b71Sopenharmony_ci    let testFileName: string = 'testFile' + Date.now() + '.jpg';
1760e41f4b71Sopenharmony_ci    let fileAsset: userFileManager.FileAsset = await mgr.createPhotoAsset(testFileName);
1761e41f4b71Sopenharmony_ci    console.info('createPhotoAsset file displayName' + fileAsset.displayName);
1762e41f4b71Sopenharmony_ci    console.info('createPhotoAsset successfully');
1763e41f4b71Sopenharmony_ci  } catch (err) {
1764e41f4b71Sopenharmony_ci    console.error('createPhotoAsset failed, message = ' + err);
1765e41f4b71Sopenharmony_ci  }
1766e41f4b71Sopenharmony_ci  //sleep 1s
1767e41f4b71Sopenharmony_ci  if (count > 0) {
1768e41f4b71Sopenharmony_ci    console.info('onDemo success');
1769e41f4b71Sopenharmony_ci  } else {
1770e41f4b71Sopenharmony_ci    console.error('onDemo fail');
1771e41f4b71Sopenharmony_ci  }
1772e41f4b71Sopenharmony_ci  mgr.off('imageChange', () => {
1773e41f4b71Sopenharmony_ci    // stop listening success
1774e41f4b71Sopenharmony_ci  });
1775e41f4b71Sopenharmony_ci}
1776e41f4b71Sopenharmony_ci```
1777e41f4b71Sopenharmony_ci
1778e41f4b71Sopenharmony_ci### off
1779e41f4b71Sopenharmony_ci
1780e41f4b71Sopenharmony_cioff(type: ChangeEvent, callback?: Callback&lt;void&gt;): void
1781e41f4b71Sopenharmony_ci
1782e41f4b71Sopenharmony_ci关闭文件管理库变更通知,使用callback方式返回异步结果。
1783e41f4b71Sopenharmony_ci
1784e41f4b71Sopenharmony_ci此接口即将废弃,请使用[off<sup>10+</sup>](#off10)的新接口。
1785e41f4b71Sopenharmony_ci
1786e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
1787e41f4b71Sopenharmony_ci
1788e41f4b71Sopenharmony_ci**参数:**
1789e41f4b71Sopenharmony_ci
1790e41f4b71Sopenharmony_ci| 参数名   | 类型                 | 必填 | 说明                                                         |
1791e41f4b71Sopenharmony_ci| -------- | -------------------- | ---- | ------------------------------------------------------------ |
1792e41f4b71Sopenharmony_ci| type     | [ChangeEvent](#changeevent)               | 是   | 媒体类型 <br/>'deviceChange':&nbsp;注册设备变更 <br/>'albumChange':&nbsp;相册变更<br/>'imageChange':&nbsp;图片文件变更<br/>'audioChange': &nbsp;音频文件变更<br/>'videoChange':  &nbsp;视频文件变更<br/>'remoteFileChange':&nbsp;注册设备上文件变更。 |
1793e41f4b71Sopenharmony_ci| callback | Callback&lt;void&gt; | 否   | callback返回void。                                                   |
1794e41f4b71Sopenharmony_ci
1795e41f4b71Sopenharmony_ci**示例:**
1796e41f4b71Sopenharmony_ci
1797e41f4b71Sopenharmony_ci```ts
1798e41f4b71Sopenharmony_ciasync function example() {
1799e41f4b71Sopenharmony_ci  console.info('offDemo');
1800e41f4b71Sopenharmony_ci  let count = 0;
1801e41f4b71Sopenharmony_ci  mgr.on('imageChange', () => {
1802e41f4b71Sopenharmony_ci    count++;
1803e41f4b71Sopenharmony_ci    // image file had changed, do something
1804e41f4b71Sopenharmony_ci  });
1805e41f4b71Sopenharmony_ci
1806e41f4b71Sopenharmony_ci  mgr.off('imageChange', () => {
1807e41f4b71Sopenharmony_ci    // stop listening success
1808e41f4b71Sopenharmony_ci  });
1809e41f4b71Sopenharmony_ci
1810e41f4b71Sopenharmony_ci  try {
1811e41f4b71Sopenharmony_ci    let testFileName: string = 'testFile' + Date.now() + '.jpg';
1812e41f4b71Sopenharmony_ci    let fileAsset: userFileManager.FileAsset = await mgr.createPhotoAsset(testFileName);
1813e41f4b71Sopenharmony_ci    console.info('createPhotoAsset file displayName' + fileAsset.displayName);
1814e41f4b71Sopenharmony_ci    console.info('createPhotoAsset successfully');
1815e41f4b71Sopenharmony_ci  } catch (err) {
1816e41f4b71Sopenharmony_ci    console.error('createPhotoAsset failed, message = ' + err);
1817e41f4b71Sopenharmony_ci  }
1818e41f4b71Sopenharmony_ci  //sleep 1s
1819e41f4b71Sopenharmony_ci  if (count == 0) {
1820e41f4b71Sopenharmony_ci    console.info('offDemo success');
1821e41f4b71Sopenharmony_ci  } else {
1822e41f4b71Sopenharmony_ci    console.error('offDemo fail');
1823e41f4b71Sopenharmony_ci  }
1824e41f4b71Sopenharmony_ci}
1825e41f4b71Sopenharmony_ci```
1826e41f4b71Sopenharmony_ci
1827e41f4b71Sopenharmony_ci## FileAsset
1828e41f4b71Sopenharmony_ci
1829e41f4b71Sopenharmony_ci提供封装文件属性的方法。
1830e41f4b71Sopenharmony_ci
1831e41f4b71Sopenharmony_ci### 属性
1832e41f4b71Sopenharmony_ci
1833e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
1834e41f4b71Sopenharmony_ci
1835e41f4b71Sopenharmony_ci| 名称                      | 类型                     | 只读 | 可写 | 说明                                                   |
1836e41f4b71Sopenharmony_ci| ------------------------- | ------------------------ | ---- | ---- | ------------------------------------------------------ |
1837e41f4b71Sopenharmony_ci| uri                       | string                   | 是   | 否   | 媒体文件资源uri(如:file://media/Photo/1/IMG_datetime_0001/displayName.jpg),详情参见用户文件uri介绍中的[媒体文件uri](../../file-management/user-file-uri-intro.md#媒体文件uri)。         |
1838e41f4b71Sopenharmony_ci| fileType   | [FileType](#filetype) | 是   | 否   | 媒体文件类型                                               |
1839e41f4b71Sopenharmony_ci| displayName               | string                   | 是   | 是   | 显示文件名,包含后缀名。                                 |
1840e41f4b71Sopenharmony_ci
1841e41f4b71Sopenharmony_ci### get
1842e41f4b71Sopenharmony_ci
1843e41f4b71Sopenharmony_ciget(member: string): MemberType;
1844e41f4b71Sopenharmony_ci
1845e41f4b71Sopenharmony_ci获取FileAsset成员参数。
1846e41f4b71Sopenharmony_ci
1847e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
1848e41f4b71Sopenharmony_ci
1849e41f4b71Sopenharmony_ci**参数:**
1850e41f4b71Sopenharmony_ci
1851e41f4b71Sopenharmony_ci| 参数名      | 类型                        | 必填   | 说明    |
1852e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ----- |
1853e41f4b71Sopenharmony_ci| member | string | 是    | 成员参数名称例如:ImageVideoKey.DISPLAY_NAME。在get时,除了uri、photoType和displayName三个属性之外,其他的属性都需要在fetchColumns中填入需要get的PhotoKeys,例如:get title属性fetchColumns: ['title']。 |
1854e41f4b71Sopenharmony_ci
1855e41f4b71Sopenharmony_ci**示例:**
1856e41f4b71Sopenharmony_ci
1857e41f4b71Sopenharmony_ci```ts
1858e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
1859e41f4b71Sopenharmony_ci
1860e41f4b71Sopenharmony_ciasync function example() {
1861e41f4b71Sopenharmony_ci  console.info('fileAssetGetDemo');
1862e41f4b71Sopenharmony_ci  try {
1863e41f4b71Sopenharmony_ci    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
1864e41f4b71Sopenharmony_ci    let fetchOption: userFileManager.FetchOptions = {
1865e41f4b71Sopenharmony_ci      fetchColumns: ['title'],
1866e41f4b71Sopenharmony_ci      predicates: predicates
1867e41f4b71Sopenharmony_ci    };
1868e41f4b71Sopenharmony_ci    let fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await mgr.getPhotoAssets(fetchOption);
1869e41f4b71Sopenharmony_ci    let fileAsset: userFileManager.FileAsset = await fetchResult.getFirstObject();
1870e41f4b71Sopenharmony_ci    let title: userFileManager.ImageVideoKey = userFileManager.ImageVideoKey.TITLE;
1871e41f4b71Sopenharmony_ci    let fileAssetTitle: userFileManager.MemberType = fileAsset.get(title.toString());
1872e41f4b71Sopenharmony_ci    console.info('fileAsset Get fileAssetTitle = ', fileAssetTitle);
1873e41f4b71Sopenharmony_ci  } catch (err) {
1874e41f4b71Sopenharmony_ci    console.error('release failed. message = ', err);
1875e41f4b71Sopenharmony_ci  }
1876e41f4b71Sopenharmony_ci}
1877e41f4b71Sopenharmony_ci```
1878e41f4b71Sopenharmony_ci
1879e41f4b71Sopenharmony_ci### set
1880e41f4b71Sopenharmony_ci
1881e41f4b71Sopenharmony_ciset(member: string, value: string): void;
1882e41f4b71Sopenharmony_ci
1883e41f4b71Sopenharmony_ci设置FileAsset成员参数。
1884e41f4b71Sopenharmony_ci
1885e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
1886e41f4b71Sopenharmony_ci
1887e41f4b71Sopenharmony_ci**参数:**
1888e41f4b71Sopenharmony_ci
1889e41f4b71Sopenharmony_ci| 参数名      | 类型                        | 必填   | 说明    |
1890e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ----- |
1891e41f4b71Sopenharmony_ci| member | string | 是    | 成员参数名称例如:ImageVideoKey.DISPLAY_NAME。 |
1892e41f4b71Sopenharmony_ci| value | string | 是    | 设置成员参数名称,只能修改DISPLAY_NAME和TITLE的值。 |
1893e41f4b71Sopenharmony_ci
1894e41f4b71Sopenharmony_ci**示例:**
1895e41f4b71Sopenharmony_ci
1896e41f4b71Sopenharmony_ci```ts
1897e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
1898e41f4b71Sopenharmony_ci
1899e41f4b71Sopenharmony_ciasync function example() {
1900e41f4b71Sopenharmony_ci  console.info('fileAssetSetDemo');
1901e41f4b71Sopenharmony_ci  try {
1902e41f4b71Sopenharmony_ci    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
1903e41f4b71Sopenharmony_ci    let fetchOption: userFileManager.FetchOptions = {
1904e41f4b71Sopenharmony_ci      fetchColumns: [],
1905e41f4b71Sopenharmony_ci      predicates: predicates
1906e41f4b71Sopenharmony_ci    };
1907e41f4b71Sopenharmony_ci    let fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await mgr.getPhotoAssets(fetchOption);
1908e41f4b71Sopenharmony_ci    let fileAsset: userFileManager.FileAsset = await fetchResult.getFirstObject();
1909e41f4b71Sopenharmony_ci    let displayName: string = userFileManager.ImageVideoKey.DISPLAY_NAME.toString();
1910e41f4b71Sopenharmony_ci    fileAsset.set(displayName, 'newDisplayName1');
1911e41f4b71Sopenharmony_ci  } catch (err) {
1912e41f4b71Sopenharmony_ci    console.error('release failed. message = ', err);
1913e41f4b71Sopenharmony_ci  }
1914e41f4b71Sopenharmony_ci}
1915e41f4b71Sopenharmony_ci```
1916e41f4b71Sopenharmony_ci
1917e41f4b71Sopenharmony_ci### commitModify
1918e41f4b71Sopenharmony_ci
1919e41f4b71Sopenharmony_cicommitModify(callback: AsyncCallback&lt;void&gt;): void
1920e41f4b71Sopenharmony_ci
1921e41f4b71Sopenharmony_ci修改文件的元数据,使用callback方式返回异步结果。
1922e41f4b71Sopenharmony_ci
1923e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.WRITE_IMAGEVIDEOohos.permission.WRITE_AUDIO
1924e41f4b71Sopenharmony_ci
1925e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
1926e41f4b71Sopenharmony_ci
1927e41f4b71Sopenharmony_ci**参数:**
1928e41f4b71Sopenharmony_ci
1929e41f4b71Sopenharmony_ci| 参数名      | 类型                        | 必填   | 说明    |
1930e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ----- |
1931e41f4b71Sopenharmony_ci| callback | AsyncCallback&lt;void&gt; | 是    | callback返回void。 |
1932e41f4b71Sopenharmony_ci
1933e41f4b71Sopenharmony_ci**示例:**
1934e41f4b71Sopenharmony_ci
1935e41f4b71Sopenharmony_ci```ts
1936e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
1937e41f4b71Sopenharmony_ci
1938e41f4b71Sopenharmony_ciasync function example() {
1939e41f4b71Sopenharmony_ci  console.info('commitModifyDemo');
1940e41f4b71Sopenharmony_ci  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
1941e41f4b71Sopenharmony_ci  let fetchOption: userFileManager.FetchOptions = {
1942e41f4b71Sopenharmony_ci    fetchColumns: [],
1943e41f4b71Sopenharmony_ci    predicates: predicates
1944e41f4b71Sopenharmony_ci  };
1945e41f4b71Sopenharmony_ci  let fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await mgr.getPhotoAssets(fetchOption);
1946e41f4b71Sopenharmony_ci  let fileAsset: userFileManager.FileAsset = await fetchResult.getFirstObject();
1947e41f4b71Sopenharmony_ci  let displayName: string = userFileManager.ImageVideoKey.DISPLAY_NAME.toString();
1948e41f4b71Sopenharmony_ci  let fileAssetDisplayName: userFileManager.MemberType = fileAsset.get(displayName);
1949e41f4b71Sopenharmony_ci  console.info('fileAsset get fileAssetDisplayName = ', fileAssetDisplayName);
1950e41f4b71Sopenharmony_ci  let newFileAssetDisplayName = 'new' + fileAssetDisplayName;
1951e41f4b71Sopenharmony_ci  console.info('fileAsset newFileAssetDisplayName = ', newFileAssetDisplayName);
1952e41f4b71Sopenharmony_ci  fileAsset.set(displayName, newFileAssetDisplayName);
1953e41f4b71Sopenharmony_ci  fileAsset.commitModify((err) => {
1954e41f4b71Sopenharmony_ci    if (err == undefined) {
1955e41f4b71Sopenharmony_ci      let commitModifyDisplayName = fileAsset.get(displayName);
1956e41f4b71Sopenharmony_ci      console.info('fileAsset commitModify successfully, commitModifyDisplayName = ', commitModifyDisplayName);
1957e41f4b71Sopenharmony_ci    } else {
1958e41f4b71Sopenharmony_ci      console.error('commitModify failed, message =', err);
1959e41f4b71Sopenharmony_ci    }
1960e41f4b71Sopenharmony_ci  });
1961e41f4b71Sopenharmony_ci}
1962e41f4b71Sopenharmony_ci```
1963e41f4b71Sopenharmony_ci
1964e41f4b71Sopenharmony_ci### commitModify
1965e41f4b71Sopenharmony_ci
1966e41f4b71Sopenharmony_cicommitModify(): Promise&lt;void&gt;
1967e41f4b71Sopenharmony_ci
1968e41f4b71Sopenharmony_ci修改文件的元数据,使用promise方式返回异步结果。
1969e41f4b71Sopenharmony_ci
1970e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.WRITE_IMAGEVIDEOohos.permission.WRITE_AUDIO
1971e41f4b71Sopenharmony_ci
1972e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
1973e41f4b71Sopenharmony_ci
1974e41f4b71Sopenharmony_ci**返回值:**
1975e41f4b71Sopenharmony_ci
1976e41f4b71Sopenharmony_ci| 类型                  | 说明         |
1977e41f4b71Sopenharmony_ci| ------------------- | ---------- |
1978e41f4b71Sopenharmony_ci| Promise&lt;void&gt; | Promise对象,返回void。 |
1979e41f4b71Sopenharmony_ci
1980e41f4b71Sopenharmony_ci**示例:**
1981e41f4b71Sopenharmony_ci
1982e41f4b71Sopenharmony_ci```ts
1983e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
1984e41f4b71Sopenharmony_ci
1985e41f4b71Sopenharmony_ciasync function example() {
1986e41f4b71Sopenharmony_ci  console.info('commitModifyDemo');
1987e41f4b71Sopenharmony_ci  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
1988e41f4b71Sopenharmony_ci  let fetchOption: userFileManager.FetchOptions = {
1989e41f4b71Sopenharmony_ci    fetchColumns: [],
1990e41f4b71Sopenharmony_ci    predicates: predicates
1991e41f4b71Sopenharmony_ci  };
1992e41f4b71Sopenharmony_ci  let fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await mgr.getPhotoAssets(fetchOption);
1993e41f4b71Sopenharmony_ci  let fileAsset: userFileManager.FileAsset = await fetchResult.getFirstObject();
1994e41f4b71Sopenharmony_ci  let displayName = userFileManager.ImageVideoKey.DISPLAY_NAME.toString();
1995e41f4b71Sopenharmony_ci  let fileAssetDisplayName: userFileManager.MemberType = fileAsset.get(displayName);
1996e41f4b71Sopenharmony_ci  console.info('fileAsset get fileAssetDisplayName = ', fileAssetDisplayName);
1997e41f4b71Sopenharmony_ci  let newFileAssetDisplayName = 'new' + fileAssetDisplayName;
1998e41f4b71Sopenharmony_ci  console.info('fileAsset newFileAssetDisplayName = ', newFileAssetDisplayName);
1999e41f4b71Sopenharmony_ci  fileAsset.set(displayName, newFileAssetDisplayName);
2000e41f4b71Sopenharmony_ci  try {
2001e41f4b71Sopenharmony_ci    await fileAsset.commitModify();
2002e41f4b71Sopenharmony_ci    let commitModifyDisplayName = fileAsset.get(displayName);
2003e41f4b71Sopenharmony_ci    console.info('fileAsset commitModify successfully, commitModifyDisplayName = ', commitModifyDisplayName);
2004e41f4b71Sopenharmony_ci  } catch (err) {
2005e41f4b71Sopenharmony_ci    console.error('commitModify failed. message = ', err);
2006e41f4b71Sopenharmony_ci  }
2007e41f4b71Sopenharmony_ci}
2008e41f4b71Sopenharmony_ci```
2009e41f4b71Sopenharmony_ci
2010e41f4b71Sopenharmony_ci### open
2011e41f4b71Sopenharmony_ci
2012e41f4b71Sopenharmony_ciopen(mode: string, callback: AsyncCallback&lt;number&gt;): void
2013e41f4b71Sopenharmony_ci
2014e41f4b71Sopenharmony_ci打开当前文件,使用callback方式返回异步结果。
2015e41f4b71Sopenharmony_ci
2016e41f4b71Sopenharmony_ci**注意**:当前写操作是互斥的操作,写操作完成后需要调用close进行释放。
2017e41f4b71Sopenharmony_ci
2018e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.READ_IMAGEVIDEOohos.permission.READ_AUDIOohos.permission.WRITE_IMAGEVIDEOohos.permission.WRITE_AUDIO
2019e41f4b71Sopenharmony_ci
2020e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
2021e41f4b71Sopenharmony_ci
2022e41f4b71Sopenharmony_ci**参数:**
2023e41f4b71Sopenharmony_ci
2024e41f4b71Sopenharmony_ci| 参数名      | 类型                          | 必填   | 说明                                  |
2025e41f4b71Sopenharmony_ci| -------- | --------------------------- | ---- | ----------------------------------- |
2026e41f4b71Sopenharmony_ci| mode     | string                      | 是    | 打开文件方式,如:'r'(只读), 'w'(只写), 'rw'(读写)。 |
2027e41f4b71Sopenharmony_ci| callback | AsyncCallback&lt;number&gt; | 是    | callback返回文件描述符。                            |
2028e41f4b71Sopenharmony_ci
2029e41f4b71Sopenharmony_ci**示例:**
2030e41f4b71Sopenharmony_ci
2031e41f4b71Sopenharmony_ci```ts
2032e41f4b71Sopenharmony_ciasync function example() {
2033e41f4b71Sopenharmony_ci  console.info('openDemo');
2034e41f4b71Sopenharmony_ci   let testFileName: string = 'testFile' + Date.now() + '.jpg';
2035e41f4b71Sopenharmony_ci  const fileAsset: userFileManager.FileAsset = await mgr.createPhotoAsset(testFileName);
2036e41f4b71Sopenharmony_ci  fileAsset.open('rw', (err, fd) => {
2037e41f4b71Sopenharmony_ci    if (fd != undefined) {
2038e41f4b71Sopenharmony_ci      console.info('File fd' + fd);
2039e41f4b71Sopenharmony_ci      fileAsset.close(fd);
2040e41f4b71Sopenharmony_ci    } else {
2041e41f4b71Sopenharmony_ci      console.error('File err' + err);
2042e41f4b71Sopenharmony_ci    }
2043e41f4b71Sopenharmony_ci  });
2044e41f4b71Sopenharmony_ci}
2045e41f4b71Sopenharmony_ci```
2046e41f4b71Sopenharmony_ci
2047e41f4b71Sopenharmony_ci### open
2048e41f4b71Sopenharmony_ci
2049e41f4b71Sopenharmony_ciopen(mode: string): Promise&lt;number&gt;
2050e41f4b71Sopenharmony_ci
2051e41f4b71Sopenharmony_ci打开当前文件,使用promise方式返回异步结果。
2052e41f4b71Sopenharmony_ci
2053e41f4b71Sopenharmony_ci**注意**:当前写操作是互斥的操作,写操作完成后需要调用close进行释放。
2054e41f4b71Sopenharmony_ci
2055e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.READ_IMAGEVIDEOohos.permission.READ_AUDIOohos.permission.WRITE_IMAGEVIDEOohos.permission.WRITE_AUDIO
2056e41f4b71Sopenharmony_ci
2057e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
2058e41f4b71Sopenharmony_ci
2059e41f4b71Sopenharmony_ci**参数:**
2060e41f4b71Sopenharmony_ci
2061e41f4b71Sopenharmony_ci| 参数名  | 类型     | 必填   | 说明                                  |
2062e41f4b71Sopenharmony_ci| ---- | ------ | ---- | ----------------------------------- |
2063e41f4b71Sopenharmony_ci| mode | string | 是    | 打开文件方式,如:'r'(只读), 'w'(只写), 'rw'(读写)。 |
2064e41f4b71Sopenharmony_ci
2065e41f4b71Sopenharmony_ci**返回值:**
2066e41f4b71Sopenharmony_ci
2067e41f4b71Sopenharmony_ci| 类型                    | 说明            |
2068e41f4b71Sopenharmony_ci| --------------------- | ------------- |
2069e41f4b71Sopenharmony_ci| Promise&lt;number&gt; | Promise对象,返回文件描述符。 |
2070e41f4b71Sopenharmony_ci
2071e41f4b71Sopenharmony_ci**示例:**
2072e41f4b71Sopenharmony_ci
2073e41f4b71Sopenharmony_ci```ts
2074e41f4b71Sopenharmony_ciasync function example() {
2075e41f4b71Sopenharmony_ci  console.info('openDemo');
2076e41f4b71Sopenharmony_ci  try {
2077e41f4b71Sopenharmony_ci    let testFileName: string = 'testFile' + Date.now() + '.jpg';
2078e41f4b71Sopenharmony_ci    const fileAsset: userFileManager.FileAsset = await mgr.createPhotoAsset(testFileName);
2079e41f4b71Sopenharmony_ci    let fd: number = await fileAsset.open('rw');
2080e41f4b71Sopenharmony_ci    if (fd != undefined) {
2081e41f4b71Sopenharmony_ci      console.info('File fd' + fd);
2082e41f4b71Sopenharmony_ci      fileAsset.close(fd);
2083e41f4b71Sopenharmony_ci    } else {
2084e41f4b71Sopenharmony_ci      console.error(' open File fail');
2085e41f4b71Sopenharmony_ci    }
2086e41f4b71Sopenharmony_ci  } catch (err) {
2087e41f4b71Sopenharmony_ci    console.error('open Demo err' + err);
2088e41f4b71Sopenharmony_ci  }
2089e41f4b71Sopenharmony_ci}
2090e41f4b71Sopenharmony_ci```
2091e41f4b71Sopenharmony_ci
2092e41f4b71Sopenharmony_ci### close
2093e41f4b71Sopenharmony_ci
2094e41f4b71Sopenharmony_ciclose(fd: number, callback: AsyncCallback&lt;void&gt;): void
2095e41f4b71Sopenharmony_ci
2096e41f4b71Sopenharmony_ci关闭当前文件,使用callback方式返回异步结果。
2097e41f4b71Sopenharmony_ci
2098e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
2099e41f4b71Sopenharmony_ci
2100e41f4b71Sopenharmony_ci**参数:**
2101e41f4b71Sopenharmony_ci
2102e41f4b71Sopenharmony_ci| 参数名      | 类型                        | 必填   | 说明    |
2103e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ----- |
2104e41f4b71Sopenharmony_ci| fd       | number                    | 是    | 文件描述符。 |
2105e41f4b71Sopenharmony_ci| callback | AsyncCallback&lt;void&gt; | 是    | callback返回void。 |
2106e41f4b71Sopenharmony_ci
2107e41f4b71Sopenharmony_ci**示例:**
2108e41f4b71Sopenharmony_ci
2109e41f4b71Sopenharmony_ci```ts
2110e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
2111e41f4b71Sopenharmony_ci
2112e41f4b71Sopenharmony_ciasync function example() {
2113e41f4b71Sopenharmony_ci  console.info('closeDemo');
2114e41f4b71Sopenharmony_ci  try {
2115e41f4b71Sopenharmony_ci    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
2116e41f4b71Sopenharmony_ci    let fetchOption: userFileManager.FetchOptions = {
2117e41f4b71Sopenharmony_ci      fetchColumns: [],
2118e41f4b71Sopenharmony_ci      predicates: predicates
2119e41f4b71Sopenharmony_ci    };
2120e41f4b71Sopenharmony_ci    let fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await mgr.getPhotoAssets(fetchOption);
2121e41f4b71Sopenharmony_ci    const fileAsset: userFileManager.FileAsset = await fetchResult.getFirstObject();
2122e41f4b71Sopenharmony_ci    let fd: number = await fileAsset.open('rw');
2123e41f4b71Sopenharmony_ci    console.info('file fd', fd);
2124e41f4b71Sopenharmony_ci    fileAsset.close(fd, (err) => {
2125e41f4b71Sopenharmony_ci      if (err == undefined) {
2126e41f4b71Sopenharmony_ci        console.info('asset close succeed.');
2127e41f4b71Sopenharmony_ci      } else {
2128e41f4b71Sopenharmony_ci        console.error('close failed, message = ' + err);
2129e41f4b71Sopenharmony_ci      }
2130e41f4b71Sopenharmony_ci    });
2131e41f4b71Sopenharmony_ci  } catch (err) {
2132e41f4b71Sopenharmony_ci    console.error('close failed, message = ' + err);
2133e41f4b71Sopenharmony_ci  }
2134e41f4b71Sopenharmony_ci}
2135e41f4b71Sopenharmony_ci```
2136e41f4b71Sopenharmony_ci
2137e41f4b71Sopenharmony_ci### close
2138e41f4b71Sopenharmony_ci
2139e41f4b71Sopenharmony_ciclose(fd: number): Promise&lt;void&gt;
2140e41f4b71Sopenharmony_ci
2141e41f4b71Sopenharmony_ci关闭当前文件,使用promise方式返回异步结果。
2142e41f4b71Sopenharmony_ci
2143e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
2144e41f4b71Sopenharmony_ci
2145e41f4b71Sopenharmony_ci**参数:**
2146e41f4b71Sopenharmony_ci
2147e41f4b71Sopenharmony_ci| 参数名  | 类型     | 必填   | 说明    |
2148e41f4b71Sopenharmony_ci| ---- | ------ | ---- | ----- |
2149e41f4b71Sopenharmony_ci| fd   | number | 是    | 文件描述符。 |
2150e41f4b71Sopenharmony_ci
2151e41f4b71Sopenharmony_ci**返回值:**
2152e41f4b71Sopenharmony_ci
2153e41f4b71Sopenharmony_ci| 类型                  | 说明         |
2154e41f4b71Sopenharmony_ci| ------------------- | ---------- |
2155e41f4b71Sopenharmony_ci| Promise&lt;void&gt; | Promise对象,返回void。 |
2156e41f4b71Sopenharmony_ci
2157e41f4b71Sopenharmony_ci**示例:**
2158e41f4b71Sopenharmony_ci
2159e41f4b71Sopenharmony_ci```ts
2160e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
2161e41f4b71Sopenharmony_ci
2162e41f4b71Sopenharmony_ciasync function example() {
2163e41f4b71Sopenharmony_ci  console.info('closeDemo');
2164e41f4b71Sopenharmony_ci  try {
2165e41f4b71Sopenharmony_ci    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
2166e41f4b71Sopenharmony_ci    let fetchOption: userFileManager.FetchOptions = {
2167e41f4b71Sopenharmony_ci      fetchColumns: [],
2168e41f4b71Sopenharmony_ci      predicates: predicates
2169e41f4b71Sopenharmony_ci    };
2170e41f4b71Sopenharmony_ci    let fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await mgr.getPhotoAssets(fetchOption);
2171e41f4b71Sopenharmony_ci    const asset: userFileManager.FileAsset = await fetchResult.getFirstObject();
2172e41f4b71Sopenharmony_ci    let fd: number = await asset.open('rw');
2173e41f4b71Sopenharmony_ci    console.info('file fd', fd);
2174e41f4b71Sopenharmony_ci    await asset.close(fd);
2175e41f4b71Sopenharmony_ci    console.info('asset close succeed.');
2176e41f4b71Sopenharmony_ci  } catch (err) {
2177e41f4b71Sopenharmony_ci    console.error('close failed, message = ' + err);
2178e41f4b71Sopenharmony_ci  }
2179e41f4b71Sopenharmony_ci}
2180e41f4b71Sopenharmony_ci```
2181e41f4b71Sopenharmony_ci
2182e41f4b71Sopenharmony_ci### getThumbnail
2183e41f4b71Sopenharmony_ci
2184e41f4b71Sopenharmony_cigetThumbnail(callback: AsyncCallback&lt;image.PixelMap&gt;): void
2185e41f4b71Sopenharmony_ci
2186e41f4b71Sopenharmony_ci获取文件的缩略图,使用callback方式返回异步结果。
2187e41f4b71Sopenharmony_ci
2188e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.READ_IMAGEVIDEOohos.permission.READ_AUDIO
2189e41f4b71Sopenharmony_ci
2190e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
2191e41f4b71Sopenharmony_ci
2192e41f4b71Sopenharmony_ci**参数:**
2193e41f4b71Sopenharmony_ci
2194e41f4b71Sopenharmony_ci| 参数名      | 类型                                  | 必填   | 说明               |
2195e41f4b71Sopenharmony_ci| -------- | ----------------------------------- | ---- | ---------------- |
2196e41f4b71Sopenharmony_ci| callback | AsyncCallback&lt;[image.PixelMap](../apis-image-kit/js-apis-image.md#pixelmap7)&gt; | 是    | callback返回缩略图的PixelMap。 |
2197e41f4b71Sopenharmony_ci
2198e41f4b71Sopenharmony_ci**示例:**
2199e41f4b71Sopenharmony_ci
2200e41f4b71Sopenharmony_ci```ts
2201e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
2202e41f4b71Sopenharmony_ci
2203e41f4b71Sopenharmony_ciasync function example() {
2204e41f4b71Sopenharmony_ci  console.info('getThumbnailDemo');
2205e41f4b71Sopenharmony_ci  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
2206e41f4b71Sopenharmony_ci  let fetchOption: userFileManager.FetchOptions = {
2207e41f4b71Sopenharmony_ci    fetchColumns: [],
2208e41f4b71Sopenharmony_ci    predicates: predicates
2209e41f4b71Sopenharmony_ci  };
2210e41f4b71Sopenharmony_ci  let fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await mgr.getPhotoAssets(fetchOption);
2211e41f4b71Sopenharmony_ci  let asset: userFileManager.FileAsset = await fetchResult.getFirstObject();
2212e41f4b71Sopenharmony_ci  console.info('asset displayName = ', asset.displayName);
2213e41f4b71Sopenharmony_ci  asset.getThumbnail((err, pixelMap) => {
2214e41f4b71Sopenharmony_ci    if (err == undefined) {
2215e41f4b71Sopenharmony_ci      console.info('getThumbnail successful ' + pixelMap);
2216e41f4b71Sopenharmony_ci    } else {
2217e41f4b71Sopenharmony_ci      console.error('getThumbnail fail', err);
2218e41f4b71Sopenharmony_ci    }
2219e41f4b71Sopenharmony_ci  });
2220e41f4b71Sopenharmony_ci}
2221e41f4b71Sopenharmony_ci```
2222e41f4b71Sopenharmony_ci
2223e41f4b71Sopenharmony_ci### getThumbnail
2224e41f4b71Sopenharmony_ci
2225e41f4b71Sopenharmony_cigetThumbnail(size: image.Size, callback: AsyncCallback&lt;image.PixelMap&gt;): void
2226e41f4b71Sopenharmony_ci
2227e41f4b71Sopenharmony_ci获取文件的缩略图,传入缩略图尺寸,使用callback方式返回异步结果。
2228e41f4b71Sopenharmony_ci
2229e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.READ_IMAGEVIDEOohos.permission.READ_AUDIO
2230e41f4b71Sopenharmony_ci
2231e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
2232e41f4b71Sopenharmony_ci
2233e41f4b71Sopenharmony_ci**参数:**
2234e41f4b71Sopenharmony_ci
2235e41f4b71Sopenharmony_ci| 参数名      | 类型                                  | 必填   | 说明               |
2236e41f4b71Sopenharmony_ci| -------- | ----------------------------------- | ---- | ---------------- |
2237e41f4b71Sopenharmony_ci| size     | [image.Size](../apis-image-kit/js-apis-image.md#size) | 是    | 缩略图尺寸。            |
2238e41f4b71Sopenharmony_ci| callback | AsyncCallback&lt;[image.PixelMap](../apis-image-kit/js-apis-image.md#pixelmap7)&gt; | 是    | callback返回缩略图的PixelMap。 |
2239e41f4b71Sopenharmony_ci
2240e41f4b71Sopenharmony_ci**示例:**
2241e41f4b71Sopenharmony_ci
2242e41f4b71Sopenharmony_ci```ts
2243e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
2244e41f4b71Sopenharmony_ciimport { image } from '@kit.ImageKit';
2245e41f4b71Sopenharmony_ci
2246e41f4b71Sopenharmony_ciasync function example() {
2247e41f4b71Sopenharmony_ci  console.info('getThumbnailDemo');
2248e41f4b71Sopenharmony_ci  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
2249e41f4b71Sopenharmony_ci  let fetchOption: userFileManager.FetchOptions = {
2250e41f4b71Sopenharmony_ci    fetchColumns: [],
2251e41f4b71Sopenharmony_ci    predicates: predicates
2252e41f4b71Sopenharmony_ci  };
2253e41f4b71Sopenharmony_ci  let size: image.Size = { width: 720, height: 720 };
2254e41f4b71Sopenharmony_ci  let fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await mgr.getPhotoAssets(fetchOption);
2255e41f4b71Sopenharmony_ci  const asset: userFileManager.FileAsset = await fetchResult.getFirstObject();
2256e41f4b71Sopenharmony_ci  console.info('asset displayName = ', asset.displayName);
2257e41f4b71Sopenharmony_ci  asset.getThumbnail(size, (err, pixelMap) => {
2258e41f4b71Sopenharmony_ci    if (err == undefined) {
2259e41f4b71Sopenharmony_ci      console.info('getThumbnail successful ' + pixelMap);
2260e41f4b71Sopenharmony_ci    } else {
2261e41f4b71Sopenharmony_ci      console.error('getThumbnail fail', err);
2262e41f4b71Sopenharmony_ci    }
2263e41f4b71Sopenharmony_ci  });
2264e41f4b71Sopenharmony_ci}
2265e41f4b71Sopenharmony_ci```
2266e41f4b71Sopenharmony_ci
2267e41f4b71Sopenharmony_ci### getThumbnail
2268e41f4b71Sopenharmony_ci
2269e41f4b71Sopenharmony_cigetThumbnail(size?: image.Size): Promise&lt;image.PixelMap&gt;
2270e41f4b71Sopenharmony_ci
2271e41f4b71Sopenharmony_ci获取文件的缩略图,传入缩略图尺寸,使用promise方式返回异步结果。
2272e41f4b71Sopenharmony_ci
2273e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.READ_IMAGEVIDEOohos.permission.READ_AUDIO
2274e41f4b71Sopenharmony_ci
2275e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
2276e41f4b71Sopenharmony_ci
2277e41f4b71Sopenharmony_ci**参数:**
2278e41f4b71Sopenharmony_ci
2279e41f4b71Sopenharmony_ci| 参数名  | 类型             | 必填   | 说明    |
2280e41f4b71Sopenharmony_ci| ---- | -------------- | ---- | ----- |
2281e41f4b71Sopenharmony_ci| size | [image.Size](../apis-image-kit/js-apis-image.md#size) | 否    | 缩略图尺寸。 |
2282e41f4b71Sopenharmony_ci
2283e41f4b71Sopenharmony_ci**返回值:**
2284e41f4b71Sopenharmony_ci
2285e41f4b71Sopenharmony_ci| 类型                            | 说明                    |
2286e41f4b71Sopenharmony_ci| ----------------------------- | --------------------- |
2287e41f4b71Sopenharmony_ci| Promise&lt;[image.PixelMap](../apis-image-kit/js-apis-image.md#pixelmap7)&gt; | Promise对象,返回缩略图的PixelMap。 |
2288e41f4b71Sopenharmony_ci
2289e41f4b71Sopenharmony_ci**示例:**
2290e41f4b71Sopenharmony_ci
2291e41f4b71Sopenharmony_ci```ts
2292e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
2293e41f4b71Sopenharmony_ciimport { image } from '@kit.ImageKit';
2294e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
2295e41f4b71Sopenharmony_ci
2296e41f4b71Sopenharmony_ciasync function example() {
2297e41f4b71Sopenharmony_ci  console.info('getThumbnailDemo');
2298e41f4b71Sopenharmony_ci  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
2299e41f4b71Sopenharmony_ci  let fetchOption: userFileManager.FetchOptions = {
2300e41f4b71Sopenharmony_ci    fetchColumns: [],
2301e41f4b71Sopenharmony_ci    predicates: predicates
2302e41f4b71Sopenharmony_ci  };
2303e41f4b71Sopenharmony_ci  let size: image.Size = { width: 720, height: 720 };
2304e41f4b71Sopenharmony_ci  let fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await mgr.getPhotoAssets(fetchOption);
2305e41f4b71Sopenharmony_ci  const asset: userFileManager.FileAsset = await fetchResult.getFirstObject();
2306e41f4b71Sopenharmony_ci  console.info('asset displayName = ', asset.displayName);
2307e41f4b71Sopenharmony_ci  asset.getThumbnail(size).then((pixelMap) => {
2308e41f4b71Sopenharmony_ci    console.info('getThumbnail successful ' + pixelMap);
2309e41f4b71Sopenharmony_ci  }).catch((err: BusinessError) => {
2310e41f4b71Sopenharmony_ci    console.error('getThumbnail fail' + err);
2311e41f4b71Sopenharmony_ci  });
2312e41f4b71Sopenharmony_ci}
2313e41f4b71Sopenharmony_ci```
2314e41f4b71Sopenharmony_ci
2315e41f4b71Sopenharmony_ci### favorite
2316e41f4b71Sopenharmony_ci
2317e41f4b71Sopenharmony_cifavorite(isFavorite: boolean, callback: AsyncCallback&lt;void&gt;): void
2318e41f4b71Sopenharmony_ci
2319e41f4b71Sopenharmony_ci将文件设置为收藏文件,使用callback方式返回异步结果。
2320e41f4b71Sopenharmony_ci
2321e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.WRITE_IMAGEVIDEOohos.permission.WRITE_AUDIO
2322e41f4b71Sopenharmony_ci
2323e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
2324e41f4b71Sopenharmony_ci
2325e41f4b71Sopenharmony_ci**参数:**
2326e41f4b71Sopenharmony_ci
2327e41f4b71Sopenharmony_ci| 参数名        | 类型                        | 必填   | 说明                                 |
2328e41f4b71Sopenharmony_ci| ---------- | ------------------------- | ---- | ---------------------------------- |
2329e41f4b71Sopenharmony_ci| isFavorite | boolean                   | 是    | 是否设置为收藏文件, true:设置为收藏文件,false:取消收藏。 |
2330e41f4b71Sopenharmony_ci| callback   | AsyncCallback&lt;void&gt; | 是    | callback返回void。                              |
2331e41f4b71Sopenharmony_ci
2332e41f4b71Sopenharmony_ci**示例:**
2333e41f4b71Sopenharmony_ci
2334e41f4b71Sopenharmony_ci```ts
2335e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
2336e41f4b71Sopenharmony_ci
2337e41f4b71Sopenharmony_ciasync function example() {
2338e41f4b71Sopenharmony_ci  console.info('favoriteDemo');
2339e41f4b71Sopenharmony_ci  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
2340e41f4b71Sopenharmony_ci  let fetchOption: userFileManager.FetchOptions = {
2341e41f4b71Sopenharmony_ci    fetchColumns: [],
2342e41f4b71Sopenharmony_ci    predicates: predicates
2343e41f4b71Sopenharmony_ci  };
2344e41f4b71Sopenharmony_ci  let fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await mgr.getPhotoAssets(fetchOption);
2345e41f4b71Sopenharmony_ci  const asset: userFileManager.FileAsset = await fetchResult.getFirstObject();
2346e41f4b71Sopenharmony_ci  asset.favorite(true, (err) => {
2347e41f4b71Sopenharmony_ci    if (err == undefined) {
2348e41f4b71Sopenharmony_ci      console.info('favorite successfully');
2349e41f4b71Sopenharmony_ci    } else {
2350e41f4b71Sopenharmony_ci      console.error('favorite failed with error:' + err);
2351e41f4b71Sopenharmony_ci    }
2352e41f4b71Sopenharmony_ci  });
2353e41f4b71Sopenharmony_ci}
2354e41f4b71Sopenharmony_ci```
2355e41f4b71Sopenharmony_ci
2356e41f4b71Sopenharmony_ci### favorite
2357e41f4b71Sopenharmony_ci
2358e41f4b71Sopenharmony_cifavorite(isFavorite: boolean): Promise&lt;void&gt;
2359e41f4b71Sopenharmony_ci
2360e41f4b71Sopenharmony_ci将文件设置为收藏文件,使用promise方式返回异步结果。
2361e41f4b71Sopenharmony_ci
2362e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.WRITE_IMAGEVIDEOohos.permission.WRITE_AUDIO
2363e41f4b71Sopenharmony_ci
2364e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
2365e41f4b71Sopenharmony_ci
2366e41f4b71Sopenharmony_ci**参数:**
2367e41f4b71Sopenharmony_ci
2368e41f4b71Sopenharmony_ci| 参数名        | 类型      | 必填   | 说明                                 |
2369e41f4b71Sopenharmony_ci| ---------- | ------- | ---- | ---------------------------------- |
2370e41f4b71Sopenharmony_ci| isFavorite | boolean | 是    | 是否设置为收藏文件, true:设置为收藏文件,false:取消收藏。 |
2371e41f4b71Sopenharmony_ci
2372e41f4b71Sopenharmony_ci**返回值:**
2373e41f4b71Sopenharmony_ci
2374e41f4b71Sopenharmony_ci| 类型                  | 说明         |
2375e41f4b71Sopenharmony_ci| ------------------- | ---------- |
2376e41f4b71Sopenharmony_ci| Promise&lt;void&gt; | Promise对象,返回void。 |
2377e41f4b71Sopenharmony_ci
2378e41f4b71Sopenharmony_ci**示例:**
2379e41f4b71Sopenharmony_ci
2380e41f4b71Sopenharmony_ci```ts
2381e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
2382e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
2383e41f4b71Sopenharmony_ci
2384e41f4b71Sopenharmony_ciasync function example() {
2385e41f4b71Sopenharmony_ci  console.info('favoriteDemo');
2386e41f4b71Sopenharmony_ci  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
2387e41f4b71Sopenharmony_ci  let fetchOption: userFileManager.FetchOptions = {
2388e41f4b71Sopenharmony_ci    fetchColumns: [],
2389e41f4b71Sopenharmony_ci    predicates: predicates
2390e41f4b71Sopenharmony_ci  };
2391e41f4b71Sopenharmony_ci  let fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await mgr.getPhotoAssets(fetchOption);
2392e41f4b71Sopenharmony_ci  const asset: userFileManager.FileAsset = await fetchResult.getFirstObject();
2393e41f4b71Sopenharmony_ci  asset.favorite(true).then(() => {
2394e41f4b71Sopenharmony_ci    console.info('favorite successfully');
2395e41f4b71Sopenharmony_ci  }).catch((err: BusinessError) => {
2396e41f4b71Sopenharmony_ci    console.error('favorite failed with error:' + err);
2397e41f4b71Sopenharmony_ci  });
2398e41f4b71Sopenharmony_ci}
2399e41f4b71Sopenharmony_ci```
2400e41f4b71Sopenharmony_ci
2401e41f4b71Sopenharmony_ci### setHidden<sup>10+</sup>
2402e41f4b71Sopenharmony_ci
2403e41f4b71Sopenharmony_cisetHidden(hiddenState: boolean, callback: AsyncCallback&lt;void&gt;): void
2404e41f4b71Sopenharmony_ci
2405e41f4b71Sopenharmony_ci将文件设置为隐私文件,使用callback方式返回异步结果。
2406e41f4b71Sopenharmony_ci
2407e41f4b71Sopenharmony_ci隐私文件存在隐私相册中,对三方应用不开放,用户通过隐私相册去获取隐私文件后可以通过设置hiddenState为false来从隐私相册中移除。
2408e41f4b71Sopenharmony_ci
2409e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
2410e41f4b71Sopenharmony_ci
2411e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
2412e41f4b71Sopenharmony_ci
2413e41f4b71Sopenharmony_ci**参数:**
2414e41f4b71Sopenharmony_ci
2415e41f4b71Sopenharmony_ci| 参数名        | 类型                        | 必填   | 说明                                 |
2416e41f4b71Sopenharmony_ci| ---------- | ------------------------- | ---- | ---------------------------------- |
2417e41f4b71Sopenharmony_ci| hiddenState | boolean                   | 是    | 是否设置为隐藏文件,true:将文件资产放入隐藏相册;false:从隐藏相册中恢复。 |
2418e41f4b71Sopenharmony_ci| callback   | AsyncCallback&lt;void&gt; | 是    | callback返回void。                              |
2419e41f4b71Sopenharmony_ci
2420e41f4b71Sopenharmony_ci**错误码:**
2421e41f4b71Sopenharmony_ci
2422e41f4b71Sopenharmony_ci接口抛出错误码的详细介绍请参见[文件管理错误码](errorcode-filemanagement.md)和[通用错误码](../errorcode-universal.md)。
2423e41f4b71Sopenharmony_ci
2424e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
2425e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- |
2426e41f4b71Sopenharmony_ci| 202   | Called by non-system application.                |
2427e41f4b71Sopenharmony_ci| 13900020   | if parameter is invalid.         |
2428e41f4b71Sopenharmony_ci
2429e41f4b71Sopenharmony_ci**示例:**
2430e41f4b71Sopenharmony_ci
2431e41f4b71Sopenharmony_ci```ts
2432e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
2433e41f4b71Sopenharmony_ci
2434e41f4b71Sopenharmony_ciasync function example() {
2435e41f4b71Sopenharmony_ci  console.info('setHiddenDemo');
2436e41f4b71Sopenharmony_ci  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
2437e41f4b71Sopenharmony_ci  let fetchOption: userFileManager.FetchOptions = {
2438e41f4b71Sopenharmony_ci    fetchColumns: [],
2439e41f4b71Sopenharmony_ci    predicates: predicates
2440e41f4b71Sopenharmony_ci  };
2441e41f4b71Sopenharmony_ci  let fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await mgr.getPhotoAssets(fetchOption);
2442e41f4b71Sopenharmony_ci  const asset: userFileManager.FileAsset = await fetchResult.getFirstObject();
2443e41f4b71Sopenharmony_ci  asset.setHidden(true, (err) => {
2444e41f4b71Sopenharmony_ci    if (err == undefined) {
2445e41f4b71Sopenharmony_ci      console.info('setHidden successfully');
2446e41f4b71Sopenharmony_ci    } else {
2447e41f4b71Sopenharmony_ci      console.error('setHidden failed with error:' + err);
2448e41f4b71Sopenharmony_ci    }
2449e41f4b71Sopenharmony_ci  });
2450e41f4b71Sopenharmony_ci}
2451e41f4b71Sopenharmony_ci```
2452e41f4b71Sopenharmony_ci
2453e41f4b71Sopenharmony_ci### setHidden<sup>10+</sup>
2454e41f4b71Sopenharmony_ci
2455e41f4b71Sopenharmony_cisetHidden(hiddenState: boolean): Promise&lt;void&gt;
2456e41f4b71Sopenharmony_ci
2457e41f4b71Sopenharmony_ci将文件设置为隐私文件,使用promise方式返回异步结果。
2458e41f4b71Sopenharmony_ci
2459e41f4b71Sopenharmony_ci隐私文件存在隐私相册中,对三方应用不开放,用户通过隐私相册去获取隐私文件后可以通过设置hiddenState为false来从隐私相册中移除。
2460e41f4b71Sopenharmony_ci
2461e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
2462e41f4b71Sopenharmony_ci
2463e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
2464e41f4b71Sopenharmony_ci
2465e41f4b71Sopenharmony_ci**参数:**
2466e41f4b71Sopenharmony_ci
2467e41f4b71Sopenharmony_ci| 参数名        | 类型      | 必填   | 说明                                 |
2468e41f4b71Sopenharmony_ci| ---------- | ------- | ---- | ---------------------------------- |
2469e41f4b71Sopenharmony_ci| hiddenState | boolean | 是    | 是否设置为隐藏文件,true:将文件资产放入隐藏相册;false:从隐藏相册中恢复。 |
2470e41f4b71Sopenharmony_ci
2471e41f4b71Sopenharmony_ci**返回值:**
2472e41f4b71Sopenharmony_ci
2473e41f4b71Sopenharmony_ci| 类型                  | 说明         |
2474e41f4b71Sopenharmony_ci| ------------------- | ---------- |
2475e41f4b71Sopenharmony_ci| Promise&lt;void&gt; | Promise对象,返回void。 |
2476e41f4b71Sopenharmony_ci
2477e41f4b71Sopenharmony_ci**错误码:**
2478e41f4b71Sopenharmony_ci
2479e41f4b71Sopenharmony_ci接口抛出错误码的详细介绍请参见[文件管理错误码](errorcode-filemanagement.md)和[通用错误码](../errorcode-universal.md)。
2480e41f4b71Sopenharmony_ci
2481e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
2482e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- |
2483e41f4b71Sopenharmony_ci| 202   | Called by non-system application.                |
2484e41f4b71Sopenharmony_ci| 13900020   | if parameter is invalid.         |
2485e41f4b71Sopenharmony_ci
2486e41f4b71Sopenharmony_ci**示例:**
2487e41f4b71Sopenharmony_ci
2488e41f4b71Sopenharmony_ci```ts
2489e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
2490e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
2491e41f4b71Sopenharmony_ci
2492e41f4b71Sopenharmony_ciasync function example() {
2493e41f4b71Sopenharmony_ci  // 示例代码为将文件从隐藏相册中恢复,需要先在隐藏相册预置资源
2494e41f4b71Sopenharmony_ci  console.info('setHiddenDemo');
2495e41f4b71Sopenharmony_ci  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
2496e41f4b71Sopenharmony_ci  let fetchOption: userFileManager.FetchOptions = {
2497e41f4b71Sopenharmony_ci    fetchColumns: [],
2498e41f4b71Sopenharmony_ci    predicates: predicates
2499e41f4b71Sopenharmony_ci  };
2500e41f4b71Sopenharmony_ci  let albumList: userFileManager.FetchResult<userFileManager.Album> = await mgr.getAlbums(userFileManager.AlbumType.SYSTEM, userFileManager.AlbumSubType.HIDDEN);
2501e41f4b71Sopenharmony_ci  const album: userFileManager.Album = await albumList.getFirstObject();
2502e41f4b71Sopenharmony_ci  let fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await album.getPhotoAssets(fetchOption);
2503e41f4b71Sopenharmony_ci  const asset: userFileManager.FileAsset = await fetchResult.getFirstObject();
2504e41f4b71Sopenharmony_ci  asset.setHidden(false).then(() => {
2505e41f4b71Sopenharmony_ci    console.info('setHidden successfully');
2506e41f4b71Sopenharmony_ci  }).catch((err: BusinessError) => {
2507e41f4b71Sopenharmony_ci    console.error('setHidden failed with error:' + err);
2508e41f4b71Sopenharmony_ci  });
2509e41f4b71Sopenharmony_ci}
2510e41f4b71Sopenharmony_ci```
2511e41f4b71Sopenharmony_ci
2512e41f4b71Sopenharmony_ci### getExif<sup>10+</sup>
2513e41f4b71Sopenharmony_ci
2514e41f4b71Sopenharmony_cigetExif(): Promise&lt;string&gt;
2515e41f4b71Sopenharmony_ci
2516e41f4b71Sopenharmony_ci返回jpg格式图片Exif标签组成的json格式的字符串,该方法使用Promise方式返回结果。
2517e41f4b71Sopenharmony_ci
2518e41f4b71Sopenharmony_ci**注意**:此接口返回的是exif标签组成的json格式的字符串,完整exif信息由all_exif与[ImageVideoKey.USER_COMMENT](#imagevideokey)组成,fetchColumns需要传入这两个字段。
2519e41f4b71Sopenharmony_ci
2520e41f4b71Sopenharmony_ci**系统接口**:此接口为系统接口。
2521e41f4b71Sopenharmony_ci
2522e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.READ_IMAGEVIDEO
2523e41f4b71Sopenharmony_ci
2524e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
2525e41f4b71Sopenharmony_ci
2526e41f4b71Sopenharmony_ci**返回值:**
2527e41f4b71Sopenharmony_ci
2528e41f4b71Sopenharmony_ci| 类型                                    | 说明              |
2529e41f4b71Sopenharmony_ci| --------------------------------------- | ----------------- |
2530e41f4b71Sopenharmony_ci| Promise&lt;string&gt; | 返回exif标签组成的json格式的字符串。 |
2531e41f4b71Sopenharmony_ci
2532e41f4b71Sopenharmony_ci**支持Exif标签列表**:
2533e41f4b71Sopenharmony_ci
2534e41f4b71Sopenharmony_ciExif标签的详细信息请参考[image.PropertyKey](../apis-image-kit/js-apis-image.md#propertykey7)。
2535e41f4b71Sopenharmony_ci
2536e41f4b71Sopenharmony_ci| 标签key值                                    | 标签说明              |
2537e41f4b71Sopenharmony_ci| --------------------------------------- | ----------------- |
2538e41f4b71Sopenharmony_ci| BitsPerSample | 每个像素比特数 |
2539e41f4b71Sopenharmony_ci| Orientation | 图像方向 |
2540e41f4b71Sopenharmony_ci| ImageLength | 图像长度 |
2541e41f4b71Sopenharmony_ci| ImageWidth | 图像宽度 |
2542e41f4b71Sopenharmony_ci| GPSLatitude | GPS纬度 |
2543e41f4b71Sopenharmony_ci| GPSLongitude | GPS经度 |
2544e41f4b71Sopenharmony_ci| GPSLatitudeRef | 经度引用,例如W或E |
2545e41f4b71Sopenharmony_ci| GPSLongitudeRef | 纬度引用,例如N或S |
2546e41f4b71Sopenharmony_ci| DateTimeOriginal | 拍摄时间 |
2547e41f4b71Sopenharmony_ci| ExposureTime | 曝光时间 |
2548e41f4b71Sopenharmony_ci| SceneType | 场景类型 |
2549e41f4b71Sopenharmony_ci| ISOSpeedRatings | ISO感光度分值 |
2550e41f4b71Sopenharmony_ci| FNumber | 光圈F值 |
2551e41f4b71Sopenharmony_ci| DateTime | 修改时间 |
2552e41f4b71Sopenharmony_ci| GPSTimeStamp | GPS时间戳 |
2553e41f4b71Sopenharmony_ci| GPSDateStamp | GPS日期戳 |
2554e41f4b71Sopenharmony_ci| ImageDescription | 图像描述 |
2555e41f4b71Sopenharmony_ci| Make | 制造商 |
2556e41f4b71Sopenharmony_ci| MakeNote | 制造商 |
2557e41f4b71Sopenharmony_ci| Model | 型号 |
2558e41f4b71Sopenharmony_ci| PhotoMode | 拍摄模式 |
2559e41f4b71Sopenharmony_ci| SensitivityType | 感光类型 |
2560e41f4b71Sopenharmony_ci| StandardOutputSensitivity | 标准输出感光度 |
2561e41f4b71Sopenharmony_ci| RecommendedExposureIndex | 推荐曝光指数 |
2562e41f4b71Sopenharmony_ci| ApertureValue | 光圈 |
2563e41f4b71Sopenharmony_ci| MeteringMode | 测光模式 |
2564e41f4b71Sopenharmony_ci| LightSource | 光源 |
2565e41f4b71Sopenharmony_ci| Flash | 闪光灯 |
2566e41f4b71Sopenharmony_ci| FocalLength | 镜头焦距 |
2567e41f4b71Sopenharmony_ci| UserComment | 用户注释 |
2568e41f4b71Sopenharmony_ci| PixelXDimension | 有效图像宽度 |
2569e41f4b71Sopenharmony_ci| PixelYDimension | 有效图像高度 |
2570e41f4b71Sopenharmony_ci| WhiteBalance | 白平衡 |
2571e41f4b71Sopenharmony_ci| FocalLengthIn35mmFilm | 35mm等效焦距 |
2572e41f4b71Sopenharmony_ci| ExposureBiasValue | 曝光补偿 |
2573e41f4b71Sopenharmony_ci
2574e41f4b71Sopenharmony_ci**示例:**
2575e41f4b71Sopenharmony_ci
2576e41f4b71Sopenharmony_ci```ts
2577e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
2578e41f4b71Sopenharmony_ci
2579e41f4b71Sopenharmony_ciasync function example() {
2580e41f4b71Sopenharmony_ci  try {
2581e41f4b71Sopenharmony_ci    console.info('getExifDemo');
2582e41f4b71Sopenharmony_ci    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
2583e41f4b71Sopenharmony_ci    predicates.isNotNull('all_exif')
2584e41f4b71Sopenharmony_ci    let fetchOptions: userFileManager.FetchOptions = {
2585e41f4b71Sopenharmony_ci      fetchColumns: ['all_exif', userFileManager.ImageVideoKey.USER_COMMENT.toString()],
2586e41f4b71Sopenharmony_ci      predicates: predicates
2587e41f4b71Sopenharmony_ci    };
2588e41f4b71Sopenharmony_ci    let fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await mgr.getPhotoAssets(fetchOptions);
2589e41f4b71Sopenharmony_ci    let fileAsset: userFileManager.FileAsset = await fetchResult.getFirstObject();
2590e41f4b71Sopenharmony_ci    console.info('getExifDemo fileAsset displayName: ' + JSON.stringify(fileAsset.displayName));
2591e41f4b71Sopenharmony_ci    let exifMessage: string = await fileAsset.getExif();
2592e41f4b71Sopenharmony_ci    let userCommentKey: string = 'UserComment';
2593e41f4b71Sopenharmony_ci    let userComment: string = JSON.stringify(JSON.parse(exifMessage), [userCommentKey]);
2594e41f4b71Sopenharmony_ci    console.info('getExifDemo userComment: ' + JSON.stringify(userComment));
2595e41f4b71Sopenharmony_ci    fetchResult.close();
2596e41f4b71Sopenharmony_ci  } catch (err) {
2597e41f4b71Sopenharmony_ci    console.error('getExifDemoCallback failed with error: ' + err);
2598e41f4b71Sopenharmony_ci  }
2599e41f4b71Sopenharmony_ci}
2600e41f4b71Sopenharmony_ci```
2601e41f4b71Sopenharmony_ci
2602e41f4b71Sopenharmony_ci### getExif<sup>10+</sup>
2603e41f4b71Sopenharmony_ci
2604e41f4b71Sopenharmony_cigetExif(callback: AsyncCallback&lt;string&gt;): void
2605e41f4b71Sopenharmony_ci
2606e41f4b71Sopenharmony_ci返回jpg格式图片Exif标签组成的json格式的字符串,该方法使用Promise方式返回结果。
2607e41f4b71Sopenharmony_ci
2608e41f4b71Sopenharmony_ci**注意**:此接口返回的是exif标签组成的json格式的字符串,完整exif信息由all_exif与[ImageVideoKey.USER_COMMENT](#imagevideokey)组成,fetchColumns需要传入这两个字段。
2609e41f4b71Sopenharmony_ci
2610e41f4b71Sopenharmony_ci**系统接口**:此接口为系统接口。
2611e41f4b71Sopenharmony_ci
2612e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.READ_IMAGEVIDEO
2613e41f4b71Sopenharmony_ci
2614e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
2615e41f4b71Sopenharmony_ci
2616e41f4b71Sopenharmony_ci**参数:**
2617e41f4b71Sopenharmony_ci
2618e41f4b71Sopenharmony_ci| 参数名   | 类型                      | 必填 | 说明       |
2619e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ---------- |
2620e41f4b71Sopenharmony_ci| callback | AsyncCallback&lt;string&gt; | 是   | 返回exif标签组成的json格式的字符串。 |
2621e41f4b71Sopenharmony_ci
2622e41f4b71Sopenharmony_ci**支持Exif标签列表**:
2623e41f4b71Sopenharmony_ci
2624e41f4b71Sopenharmony_ciExif标签的详细信息请参考[image.PropertyKey](../apis-image-kit/js-apis-image.md#propertykey7)。
2625e41f4b71Sopenharmony_ci
2626e41f4b71Sopenharmony_ci| 标签key值                                    | 标签说明              |
2627e41f4b71Sopenharmony_ci| --------------------------------------- | ----------------- |
2628e41f4b71Sopenharmony_ci| BitsPerSample | 每个像素比特数 |
2629e41f4b71Sopenharmony_ci| Orientation | 图像方向 |
2630e41f4b71Sopenharmony_ci| ImageLength | 图像长度 |
2631e41f4b71Sopenharmony_ci| ImageWidth | 图像宽度 |
2632e41f4b71Sopenharmony_ci| GPSLatitude | GPS纬度 |
2633e41f4b71Sopenharmony_ci| GPSLongitude | GPS经度 |
2634e41f4b71Sopenharmony_ci| GPSLatitudeRef | 经度引用,例如W或E |
2635e41f4b71Sopenharmony_ci| GPSLongitudeRef | 纬度引用,例如N或S |
2636e41f4b71Sopenharmony_ci| DateTimeOriginal | 拍摄时间 |
2637e41f4b71Sopenharmony_ci| ExposureTime | 曝光时间 |
2638e41f4b71Sopenharmony_ci| SceneType | 场景类型 |
2639e41f4b71Sopenharmony_ci| ISOSpeedRatings | ISO感光度分值 |
2640e41f4b71Sopenharmony_ci| FNumber | 光圈F值 |
2641e41f4b71Sopenharmony_ci| DateTime | 修改时间 |
2642e41f4b71Sopenharmony_ci| GPSTimeStamp | GPS时间戳 |
2643e41f4b71Sopenharmony_ci| GPSDateStamp | GPS日期戳 |
2644e41f4b71Sopenharmony_ci| ImageDescription | 图像描述 |
2645e41f4b71Sopenharmony_ci| Make | 制造商 |
2646e41f4b71Sopenharmony_ci| MakeNote | 制造商 |
2647e41f4b71Sopenharmony_ci| Model | 型号 |
2648e41f4b71Sopenharmony_ci| PhotoMode | 拍摄模式 |
2649e41f4b71Sopenharmony_ci| SensitivityType | 感光类型 |
2650e41f4b71Sopenharmony_ci| StandardOutputSensitivity | 标准输出感光度 |
2651e41f4b71Sopenharmony_ci| RecommendedExposureIndex | 推荐曝光指数 |
2652e41f4b71Sopenharmony_ci| ApertureValue | 光圈 |
2653e41f4b71Sopenharmony_ci| MeteringMode | 测光模式 |
2654e41f4b71Sopenharmony_ci| LightSource | 光源 |
2655e41f4b71Sopenharmony_ci| Flash | 闪光灯 |
2656e41f4b71Sopenharmony_ci| FocalLength | 镜头焦距 |
2657e41f4b71Sopenharmony_ci| UserComment | 用户注释 |
2658e41f4b71Sopenharmony_ci| PixelXDimension | 有效图像宽度 |
2659e41f4b71Sopenharmony_ci| PixelYDimension | 有效图像高度 |
2660e41f4b71Sopenharmony_ci| WhiteBalance | 白平衡 |
2661e41f4b71Sopenharmony_ci| FocalLengthIn35mmFilm | 35mm等效焦距 |
2662e41f4b71Sopenharmony_ci| ExposureBiasValue | 曝光补偿 |
2663e41f4b71Sopenharmony_ci
2664e41f4b71Sopenharmony_ci**示例:**
2665e41f4b71Sopenharmony_ci
2666e41f4b71Sopenharmony_ci```ts
2667e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
2668e41f4b71Sopenharmony_ci
2669e41f4b71Sopenharmony_ciasync function example() {
2670e41f4b71Sopenharmony_ci  try {
2671e41f4b71Sopenharmony_ci    console.info('getExifDemo');
2672e41f4b71Sopenharmony_ci    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
2673e41f4b71Sopenharmony_ci    predicates.isNotNull('all_exif')
2674e41f4b71Sopenharmony_ci    let fetchOptions: userFileManager.FetchOptions = {
2675e41f4b71Sopenharmony_ci      fetchColumns: ['all_exif', userFileManager.ImageVideoKey.USER_COMMENT.toString()],
2676e41f4b71Sopenharmony_ci      predicates: predicates
2677e41f4b71Sopenharmony_ci    };
2678e41f4b71Sopenharmony_ci    let fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await mgr.getPhotoAssets(fetchOptions);
2679e41f4b71Sopenharmony_ci    let fileAsset: userFileManager.FileAsset = await fetchResult.getFirstObject();
2680e41f4b71Sopenharmony_ci    console.info('getExifDemo fileAsset displayName: ' + JSON.stringify(fileAsset.displayName));
2681e41f4b71Sopenharmony_ci    let userCommentKey: string = 'UserComment';
2682e41f4b71Sopenharmony_ci    fileAsset.getExif((err, exifMessage) => {
2683e41f4b71Sopenharmony_ci      if (exifMessage != undefined) {
2684e41f4b71Sopenharmony_ci        let userComment: string = JSON.stringify(JSON.parse(exifMessage), [userCommentKey]);
2685e41f4b71Sopenharmony_ci        console.info('getExifDemo userComment: ' + JSON.stringify(userComment));
2686e41f4b71Sopenharmony_ci      } else {
2687e41f4b71Sopenharmony_ci        console.error('getExif failed, message = ', err);
2688e41f4b71Sopenharmony_ci      }
2689e41f4b71Sopenharmony_ci    });
2690e41f4b71Sopenharmony_ci    fetchResult.close();
2691e41f4b71Sopenharmony_ci  } catch (err) {
2692e41f4b71Sopenharmony_ci    console.error('getExifDemoCallback failed with error: ' + err);
2693e41f4b71Sopenharmony_ci  }
2694e41f4b71Sopenharmony_ci}
2695e41f4b71Sopenharmony_ci```
2696e41f4b71Sopenharmony_ci
2697e41f4b71Sopenharmony_ci### setUserComment<sup>10+</sup>
2698e41f4b71Sopenharmony_ci
2699e41f4b71Sopenharmony_cisetUserComment(userComment: string): Promise&lt;void&gt;
2700e41f4b71Sopenharmony_ci
2701e41f4b71Sopenharmony_ci修改图片或者视频的备注信息,该方法使用Promise来返回结果。
2702e41f4b71Sopenharmony_ci
2703e41f4b71Sopenharmony_ci**注意**:此接口只可修改图片或者视频的备注信息。
2704e41f4b71Sopenharmony_ci
2705e41f4b71Sopenharmony_ci**系统接口**:此接口为系统接口。
2706e41f4b71Sopenharmony_ci
2707e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
2708e41f4b71Sopenharmony_ci
2709e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
2710e41f4b71Sopenharmony_ci
2711e41f4b71Sopenharmony_ci**参数:**
2712e41f4b71Sopenharmony_ci
2713e41f4b71Sopenharmony_ci| 参数名   | 类型                      | 必填 | 说明       |
2714e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ---------- |
2715e41f4b71Sopenharmony_ci| userComment | string | 是   | 待修改的图片或视频的备注信息,备注信息最长为140字符。 |
2716e41f4b71Sopenharmony_ci
2717e41f4b71Sopenharmony_ci**返回值:**
2718e41f4b71Sopenharmony_ci
2719e41f4b71Sopenharmony_ci| 类型                                    | 说明              |
2720e41f4b71Sopenharmony_ci| --------------------------------------- | ----------------- |
2721e41f4b71Sopenharmony_ci|Promise&lt;void&gt; | Promise对象,返回void。 |
2722e41f4b71Sopenharmony_ci
2723e41f4b71Sopenharmony_ci**错误码:**
2724e41f4b71Sopenharmony_ci
2725e41f4b71Sopenharmony_ci接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
2726e41f4b71Sopenharmony_ci
2727e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
2728e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- |
2729e41f4b71Sopenharmony_ci| 202   | Called by non-system application.                |
2730e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
2731e41f4b71Sopenharmony_ci
2732e41f4b71Sopenharmony_ci**示例:**
2733e41f4b71Sopenharmony_ci
2734e41f4b71Sopenharmony_ci```ts
2735e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
2736e41f4b71Sopenharmony_ci
2737e41f4b71Sopenharmony_ciasync function example() {
2738e41f4b71Sopenharmony_ci  try {
2739e41f4b71Sopenharmony_ci    console.info('setUserCommentDemo')
2740e41f4b71Sopenharmony_ci    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
2741e41f4b71Sopenharmony_ci    let fetchOptions: userFileManager.FetchOptions = {
2742e41f4b71Sopenharmony_ci      fetchColumns: [],
2743e41f4b71Sopenharmony_ci      predicates: predicates
2744e41f4b71Sopenharmony_ci    };
2745e41f4b71Sopenharmony_ci    let fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await mgr.getPhotoAssets(fetchOptions);
2746e41f4b71Sopenharmony_ci    let fileAsset: userFileManager.FileAsset = await fetchResult.getFirstObject();
2747e41f4b71Sopenharmony_ci    let userComment: string = 'test_set_user_comment';
2748e41f4b71Sopenharmony_ci    await fileAsset.setUserComment(userComment);
2749e41f4b71Sopenharmony_ci  } catch (err) {
2750e41f4b71Sopenharmony_ci    console.error('setUserCommentDemoCallback failed with error: ' + err);
2751e41f4b71Sopenharmony_ci  }
2752e41f4b71Sopenharmony_ci}
2753e41f4b71Sopenharmony_ci```
2754e41f4b71Sopenharmony_ci
2755e41f4b71Sopenharmony_ci### setUserComment<sup>10+</sup>
2756e41f4b71Sopenharmony_ci
2757e41f4b71Sopenharmony_cisetUserComment(userComment: string, callback: AsyncCallback&lt;void&gt;): void
2758e41f4b71Sopenharmony_ci
2759e41f4b71Sopenharmony_ci修改图片或者视频的备注信息,该方法使用callback形式来返回结果。
2760e41f4b71Sopenharmony_ci
2761e41f4b71Sopenharmony_ci**注意**:此接口只可修改图片或者视频的备注信息。
2762e41f4b71Sopenharmony_ci
2763e41f4b71Sopenharmony_ci**系统接口**:此接口为系统接口。
2764e41f4b71Sopenharmony_ci
2765e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
2766e41f4b71Sopenharmony_ci
2767e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
2768e41f4b71Sopenharmony_ci
2769e41f4b71Sopenharmony_ci**参数:**
2770e41f4b71Sopenharmony_ci
2771e41f4b71Sopenharmony_ci| 参数名   | 类型                      | 必填 | 说明       |
2772e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ---------- |
2773e41f4b71Sopenharmony_ci| userComment | string | 是   | 待修改的图片或视频的备注信息,备注信息最长为140字符。 |
2774e41f4b71Sopenharmony_ci| callback | AsyncCallback&lt;void&gt; | 是   | callback返回void。 |
2775e41f4b71Sopenharmony_ci
2776e41f4b71Sopenharmony_ci**错误码:**
2777e41f4b71Sopenharmony_ci
2778e41f4b71Sopenharmony_ci接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
2779e41f4b71Sopenharmony_ci
2780e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
2781e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- |
2782e41f4b71Sopenharmony_ci| 202   | Called by non-system application.                |
2783e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 
2784e41f4b71Sopenharmony_ci
2785e41f4b71Sopenharmony_ci**示例:**
2786e41f4b71Sopenharmony_ci
2787e41f4b71Sopenharmony_ci```ts
2788e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
2789e41f4b71Sopenharmony_ci
2790e41f4b71Sopenharmony_ciasync function example() {
2791e41f4b71Sopenharmony_ci  try {
2792e41f4b71Sopenharmony_ci    console.info('setUserCommentDemo')
2793e41f4b71Sopenharmony_ci    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
2794e41f4b71Sopenharmony_ci    let fetchOptions: userFileManager.FetchOptions = {
2795e41f4b71Sopenharmony_ci      fetchColumns: [],
2796e41f4b71Sopenharmony_ci      predicates: predicates
2797e41f4b71Sopenharmony_ci    };
2798e41f4b71Sopenharmony_ci    let fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await mgr.getPhotoAssets(fetchOptions);
2799e41f4b71Sopenharmony_ci    let fileAsset: userFileManager.FileAsset = await fetchResult.getFirstObject();
2800e41f4b71Sopenharmony_ci    let userComment: string = 'test_set_user_comment';
2801e41f4b71Sopenharmony_ci    fileAsset.setUserComment(userComment, (err) => {
2802e41f4b71Sopenharmony_ci      if (err === undefined) {
2803e41f4b71Sopenharmony_ci        console.info('setUserComment successfully');
2804e41f4b71Sopenharmony_ci      } else {
2805e41f4b71Sopenharmony_ci        console.error('setUserComment failed with error: ' + err);
2806e41f4b71Sopenharmony_ci      }
2807e41f4b71Sopenharmony_ci    });
2808e41f4b71Sopenharmony_ci  } catch (err) {
2809e41f4b71Sopenharmony_ci    console.error('setUserCommentDemoCallback failed with error: ' + err);
2810e41f4b71Sopenharmony_ci  }
2811e41f4b71Sopenharmony_ci}
2812e41f4b71Sopenharmony_ci```
2813e41f4b71Sopenharmony_ci
2814e41f4b71Sopenharmony_ci## FetchResult
2815e41f4b71Sopenharmony_ci
2816e41f4b71Sopenharmony_ci文件检索结果集。
2817e41f4b71Sopenharmony_ci
2818e41f4b71Sopenharmony_ci### getCount
2819e41f4b71Sopenharmony_ci
2820e41f4b71Sopenharmony_cigetCount(): number
2821e41f4b71Sopenharmony_ci
2822e41f4b71Sopenharmony_ci获取文件检索结果中的文件总数。
2823e41f4b71Sopenharmony_ci
2824e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
2825e41f4b71Sopenharmony_ci
2826e41f4b71Sopenharmony_ci**返回值:**
2827e41f4b71Sopenharmony_ci
2828e41f4b71Sopenharmony_ci| 类型     | 说明       |
2829e41f4b71Sopenharmony_ci| ------ | -------- |
2830e41f4b71Sopenharmony_ci| number | 检索到的文件总数。 |
2831e41f4b71Sopenharmony_ci
2832e41f4b71Sopenharmony_ci**示例:**
2833e41f4b71Sopenharmony_ci
2834e41f4b71Sopenharmony_ci```ts
2835e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
2836e41f4b71Sopenharmony_ci
2837e41f4b71Sopenharmony_ciasync function example() {
2838e41f4b71Sopenharmony_ci  console.info('getCountDemo');
2839e41f4b71Sopenharmony_ci  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
2840e41f4b71Sopenharmony_ci  let fetchOption: userFileManager.FetchOptions = {
2841e41f4b71Sopenharmony_ci    fetchColumns: [],
2842e41f4b71Sopenharmony_ci    predicates: predicates
2843e41f4b71Sopenharmony_ci  };
2844e41f4b71Sopenharmony_ci  let fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await mgr.getPhotoAssets(fetchOption);
2845e41f4b71Sopenharmony_ci  const fetchCount: number = fetchResult.getCount();
2846e41f4b71Sopenharmony_ci  console.info('fetchCount = ', fetchCount);
2847e41f4b71Sopenharmony_ci}
2848e41f4b71Sopenharmony_ci```
2849e41f4b71Sopenharmony_ci
2850e41f4b71Sopenharmony_ci### isAfterLast
2851e41f4b71Sopenharmony_ci
2852e41f4b71Sopenharmony_ciisAfterLast(): boolean
2853e41f4b71Sopenharmony_ci
2854e41f4b71Sopenharmony_ci检查结果集是否指向最后一行。
2855e41f4b71Sopenharmony_ci
2856e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
2857e41f4b71Sopenharmony_ci
2858e41f4b71Sopenharmony_ci**返回值:**
2859e41f4b71Sopenharmony_ci
2860e41f4b71Sopenharmony_ci| 类型      | 说明                                 |
2861e41f4b71Sopenharmony_ci| ------- | ---------------------------------- |
2862e41f4b71Sopenharmony_ci| boolean | 当读到最后一条记录后,后续没有记录返回true,否则返回false。 |
2863e41f4b71Sopenharmony_ci
2864e41f4b71Sopenharmony_ci**示例:**
2865e41f4b71Sopenharmony_ci
2866e41f4b71Sopenharmony_ci```ts
2867e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
2868e41f4b71Sopenharmony_ci
2869e41f4b71Sopenharmony_ciasync function example() {
2870e41f4b71Sopenharmony_ci  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
2871e41f4b71Sopenharmony_ci  let fetchOption: userFileManager.FetchOptions = {
2872e41f4b71Sopenharmony_ci    fetchColumns: [],
2873e41f4b71Sopenharmony_ci    predicates: predicates
2874e41f4b71Sopenharmony_ci  };
2875e41f4b71Sopenharmony_ci  let fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await mgr.getPhotoAssets(fetchOption);
2876e41f4b71Sopenharmony_ci  const fetchCount: number = fetchResult.getCount();
2877e41f4b71Sopenharmony_ci  console.info('count:' + fetchCount);
2878e41f4b71Sopenharmony_ci  let fileAsset: userFileManager.FileAsset = await fetchResult.getLastObject();
2879e41f4b71Sopenharmony_ci  if (fetchResult.isAfterLast()) {
2880e41f4b71Sopenharmony_ci    console.info('fileAsset isAfterLast displayName = ', fileAsset.displayName);
2881e41f4b71Sopenharmony_ci  } else {
2882e41f4b71Sopenharmony_ci    console.info('fileAsset  not isAfterLast ');
2883e41f4b71Sopenharmony_ci  }
2884e41f4b71Sopenharmony_ci}
2885e41f4b71Sopenharmony_ci```
2886e41f4b71Sopenharmony_ci
2887e41f4b71Sopenharmony_ci### close
2888e41f4b71Sopenharmony_ci
2889e41f4b71Sopenharmony_ciclose(): void
2890e41f4b71Sopenharmony_ci
2891e41f4b71Sopenharmony_ci释放 FetchFileResult 实例并使其失效。无法调用其他方法。
2892e41f4b71Sopenharmony_ci
2893e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
2894e41f4b71Sopenharmony_ci
2895e41f4b71Sopenharmony_ci**示例:**
2896e41f4b71Sopenharmony_ci
2897e41f4b71Sopenharmony_ci```ts
2898e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
2899e41f4b71Sopenharmony_ci
2900e41f4b71Sopenharmony_ciasync function example() {
2901e41f4b71Sopenharmony_ci  console.info('fetchResultCloseDemo');
2902e41f4b71Sopenharmony_ci  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
2903e41f4b71Sopenharmony_ci  let fetchOption: userFileManager.FetchOptions = {
2904e41f4b71Sopenharmony_ci    fetchColumns: [],
2905e41f4b71Sopenharmony_ci    predicates: predicates
2906e41f4b71Sopenharmony_ci  };
2907e41f4b71Sopenharmony_ci  try {
2908e41f4b71Sopenharmony_ci    let fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await mgr.getPhotoAssets(fetchOption);
2909e41f4b71Sopenharmony_ci    fetchResult.close();
2910e41f4b71Sopenharmony_ci    console.info('close succeed.');
2911e41f4b71Sopenharmony_ci  } catch (err) {
2912e41f4b71Sopenharmony_ci    console.error('close fail. message = ' + err);
2913e41f4b71Sopenharmony_ci  }
2914e41f4b71Sopenharmony_ci}
2915e41f4b71Sopenharmony_ci```
2916e41f4b71Sopenharmony_ci
2917e41f4b71Sopenharmony_ci### getFirstObject
2918e41f4b71Sopenharmony_ci
2919e41f4b71Sopenharmony_cigetFirstObject(callback: AsyncCallback&lt;T&gt;): void
2920e41f4b71Sopenharmony_ci
2921e41f4b71Sopenharmony_ci获取文件检索结果中的第一个文件资产。此方法使用callback形式返回结果。
2922e41f4b71Sopenharmony_ci
2923e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
2924e41f4b71Sopenharmony_ci
2925e41f4b71Sopenharmony_ci**参数:**
2926e41f4b71Sopenharmony_ci
2927e41f4b71Sopenharmony_ci| 参数名   | 类型                                          | 必填 | 说明                                        |
2928e41f4b71Sopenharmony_ci| -------- | --------------------------------------------- | ---- | ------------------------------------------- |
2929e41f4b71Sopenharmony_ci| callback | AsyncCallback&lt;T&gt; | 是   | 异步获取结果集中的第一个完成后的回调。 |
2930e41f4b71Sopenharmony_ci
2931e41f4b71Sopenharmony_ci**示例:**
2932e41f4b71Sopenharmony_ci
2933e41f4b71Sopenharmony_ci```ts
2934e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
2935e41f4b71Sopenharmony_ci
2936e41f4b71Sopenharmony_ciasync function example() {
2937e41f4b71Sopenharmony_ci  console.info('getFirstObjectDemo');
2938e41f4b71Sopenharmony_ci  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
2939e41f4b71Sopenharmony_ci  let fetchOption: userFileManager.FetchOptions = {
2940e41f4b71Sopenharmony_ci    fetchColumns: [],
2941e41f4b71Sopenharmony_ci    predicates: predicates
2942e41f4b71Sopenharmony_ci  };
2943e41f4b71Sopenharmony_ci  let fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await mgr.getPhotoAssets(fetchOption);
2944e41f4b71Sopenharmony_ci  fetchResult.getFirstObject((err, fileAsset) => {
2945e41f4b71Sopenharmony_ci    if (fileAsset != undefined) {
2946e41f4b71Sopenharmony_ci      console.info('fileAsset displayName: ', fileAsset.displayName);
2947e41f4b71Sopenharmony_ci    } else {
2948e41f4b71Sopenharmony_ci      console.error('fileAsset failed with err:' + err);
2949e41f4b71Sopenharmony_ci    }
2950e41f4b71Sopenharmony_ci  });
2951e41f4b71Sopenharmony_ci}
2952e41f4b71Sopenharmony_ci```
2953e41f4b71Sopenharmony_ci
2954e41f4b71Sopenharmony_ci### getFirstObject
2955e41f4b71Sopenharmony_ci
2956e41f4b71Sopenharmony_cigetFirstObject(): Promise&lt;T&gt;
2957e41f4b71Sopenharmony_ci
2958e41f4b71Sopenharmony_ci获取文件检索结果中的第一个文件资产。此方法使用promise方式来异步返回。
2959e41f4b71Sopenharmony_ci
2960e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
2961e41f4b71Sopenharmony_ci
2962e41f4b71Sopenharmony_ci**返回值:**
2963e41f4b71Sopenharmony_ci
2964e41f4b71Sopenharmony_ci| 类型                                    | 说明                       |
2965e41f4b71Sopenharmony_ci| --------------------------------------- | -------------------------- |
2966e41f4b71Sopenharmony_ci| Promise&lt;T&gt; | Promise对象,返回结果集中第一个对象。 |
2967e41f4b71Sopenharmony_ci
2968e41f4b71Sopenharmony_ci**示例:**
2969e41f4b71Sopenharmony_ci
2970e41f4b71Sopenharmony_ci```ts
2971e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
2972e41f4b71Sopenharmony_ci
2973e41f4b71Sopenharmony_ciasync function example() {
2974e41f4b71Sopenharmony_ci  console.info('getFirstObjectDemo');
2975e41f4b71Sopenharmony_ci  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
2976e41f4b71Sopenharmony_ci  let fetchOption: userFileManager.FetchOptions = {
2977e41f4b71Sopenharmony_ci    fetchColumns: [],
2978e41f4b71Sopenharmony_ci    predicates: predicates
2979e41f4b71Sopenharmony_ci  };
2980e41f4b71Sopenharmony_ci  let fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await mgr.getPhotoAssets(fetchOption);
2981e41f4b71Sopenharmony_ci  let fileAsset: userFileManager.FileAsset = await fetchResult.getFirstObject();
2982e41f4b71Sopenharmony_ci  console.info('fileAsset displayName: ', fileAsset.displayName);
2983e41f4b71Sopenharmony_ci}
2984e41f4b71Sopenharmony_ci```
2985e41f4b71Sopenharmony_ci
2986e41f4b71Sopenharmony_ci### getNextObject
2987e41f4b71Sopenharmony_ci
2988e41f4b71Sopenharmony_cigetNextObject(callback: AsyncCallback&lt;T&gt;): void
2989e41f4b71Sopenharmony_ci
2990e41f4b71Sopenharmony_ci获取文件检索结果中的下一个文件资产。此方法使用callback形式返回结果。
2991e41f4b71Sopenharmony_ci在调用此方法之前,必须使用[isAfterLast()](#isafterlast)来检查当前位置是否为最后一行。
2992e41f4b71Sopenharmony_ci
2993e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
2994e41f4b71Sopenharmony_ci
2995e41f4b71Sopenharmony_ci**参数:**
2996e41f4b71Sopenharmony_ci
2997e41f4b71Sopenharmony_ci| 参数名    | 类型                                          | 必填 | 说明                                      |
2998e41f4b71Sopenharmony_ci| --------- | --------------------------------------------- | ---- | ----------------------------------------- |
2999e41f4b71Sopenharmony_ci| callback | AsyncCallback&lt;T&gt; | 是   | 异步返回结果集中下一个之后的回调。 |
3000e41f4b71Sopenharmony_ci
3001e41f4b71Sopenharmony_ci**示例:**
3002e41f4b71Sopenharmony_ci
3003e41f4b71Sopenharmony_ci```ts
3004e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
3005e41f4b71Sopenharmony_ci
3006e41f4b71Sopenharmony_ciasync function example() {
3007e41f4b71Sopenharmony_ci  console.info('getNextObjectDemo');
3008e41f4b71Sopenharmony_ci  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
3009e41f4b71Sopenharmony_ci  let fetchOption: userFileManager.FetchOptions = {
3010e41f4b71Sopenharmony_ci    fetchColumns: [],
3011e41f4b71Sopenharmony_ci    predicates: predicates
3012e41f4b71Sopenharmony_ci  };
3013e41f4b71Sopenharmony_ci  let fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await mgr.getPhotoAssets(fetchOption);
3014e41f4b71Sopenharmony_ci  await fetchResult.getFirstObject();
3015e41f4b71Sopenharmony_ci  if (!fetchResult.isAfterLast()) {
3016e41f4b71Sopenharmony_ci    fetchResult.getNextObject((err, fileAsset) => {
3017e41f4b71Sopenharmony_ci      if (fileAsset != undefined) {
3018e41f4b71Sopenharmony_ci        console.info('fileAsset displayName: ', fileAsset.displayName);
3019e41f4b71Sopenharmony_ci      } else {
3020e41f4b71Sopenharmony_ci        console.error('fileAsset failed with err: ' + err);
3021e41f4b71Sopenharmony_ci      }
3022e41f4b71Sopenharmony_ci    });
3023e41f4b71Sopenharmony_ci  }
3024e41f4b71Sopenharmony_ci}
3025e41f4b71Sopenharmony_ci```
3026e41f4b71Sopenharmony_ci
3027e41f4b71Sopenharmony_ci### getNextObject
3028e41f4b71Sopenharmony_ci
3029e41f4b71Sopenharmony_cigetNextObject(): Promise&lt;T&gt;
3030e41f4b71Sopenharmony_ci
3031e41f4b71Sopenharmony_ci获取文件检索结果中的下一个文件资产。此方法使用promise方式来异步返回。
3032e41f4b71Sopenharmony_ci在调用此方法之前,必须使用[isAfterLast()](#isafterlast)来检查当前位置是否为最后一行。
3033e41f4b71Sopenharmony_ci
3034e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
3035e41f4b71Sopenharmony_ci
3036e41f4b71Sopenharmony_ci**返回值:**
3037e41f4b71Sopenharmony_ci
3038e41f4b71Sopenharmony_ci| 类型                                    | 说明              |
3039e41f4b71Sopenharmony_ci| --------------------------------------- | ----------------- |
3040e41f4b71Sopenharmony_ci| Promise&lt;T&gt; | Promise对象,返回结果集中下一个对象。 |
3041e41f4b71Sopenharmony_ci
3042e41f4b71Sopenharmony_ci**示例:**
3043e41f4b71Sopenharmony_ci
3044e41f4b71Sopenharmony_ci```ts
3045e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
3046e41f4b71Sopenharmony_ci
3047e41f4b71Sopenharmony_ciasync function example() {
3048e41f4b71Sopenharmony_ci  console.info('getNextObjectDemo');
3049e41f4b71Sopenharmony_ci  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
3050e41f4b71Sopenharmony_ci  let fetchOption: userFileManager.FetchOptions = {
3051e41f4b71Sopenharmony_ci    fetchColumns: [],
3052e41f4b71Sopenharmony_ci    predicates: predicates
3053e41f4b71Sopenharmony_ci  };
3054e41f4b71Sopenharmony_ci  let fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await mgr.getPhotoAssets(fetchOption);
3055e41f4b71Sopenharmony_ci  await fetchResult.getFirstObject();
3056e41f4b71Sopenharmony_ci  if (!fetchResult.isAfterLast()) {
3057e41f4b71Sopenharmony_ci    let fileAsset: userFileManager.FileAsset = await fetchResult.getNextObject();
3058e41f4b71Sopenharmony_ci    console.info('fileAsset displayName: ', fileAsset.displayName);
3059e41f4b71Sopenharmony_ci  }
3060e41f4b71Sopenharmony_ci}
3061e41f4b71Sopenharmony_ci```
3062e41f4b71Sopenharmony_ci
3063e41f4b71Sopenharmony_ci### getLastObject
3064e41f4b71Sopenharmony_ci
3065e41f4b71Sopenharmony_cigetLastObject(callback: AsyncCallback&lt;T&gt;): void
3066e41f4b71Sopenharmony_ci
3067e41f4b71Sopenharmony_ci获取文件检索结果中的最后一个文件资产。此方法使用callback回调来返回。
3068e41f4b71Sopenharmony_ci
3069e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
3070e41f4b71Sopenharmony_ci
3071e41f4b71Sopenharmony_ci**参数:**
3072e41f4b71Sopenharmony_ci
3073e41f4b71Sopenharmony_ci| 参数名   | 类型                                          | 必填 | 说明                        |
3074e41f4b71Sopenharmony_ci| -------- | --------------------------------------------- | ---- | --------------------------- |
3075e41f4b71Sopenharmony_ci| callback | AsyncCallback&lt;T&gt; | 是   | 异步返回结果集中最后一个的回调。 |
3076e41f4b71Sopenharmony_ci
3077e41f4b71Sopenharmony_ci**示例:**
3078e41f4b71Sopenharmony_ci
3079e41f4b71Sopenharmony_ci```ts
3080e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
3081e41f4b71Sopenharmony_ci
3082e41f4b71Sopenharmony_ciasync function example() {
3083e41f4b71Sopenharmony_ci  console.info('getLastObjectDemo');
3084e41f4b71Sopenharmony_ci  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
3085e41f4b71Sopenharmony_ci  let fetchOption: userFileManager.FetchOptions = {
3086e41f4b71Sopenharmony_ci    fetchColumns: [],
3087e41f4b71Sopenharmony_ci    predicates: predicates
3088e41f4b71Sopenharmony_ci  };
3089e41f4b71Sopenharmony_ci  let fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await mgr.getPhotoAssets(fetchOption);
3090e41f4b71Sopenharmony_ci  fetchResult.getLastObject((err, fileAsset) => {
3091e41f4b71Sopenharmony_ci    if (fileAsset != undefined) {
3092e41f4b71Sopenharmony_ci      console.info('fileAsset displayName: ', fileAsset.displayName);
3093e41f4b71Sopenharmony_ci    } else {
3094e41f4b71Sopenharmony_ci      console.error('fileAsset failed with err: ' + err);
3095e41f4b71Sopenharmony_ci    }
3096e41f4b71Sopenharmony_ci  });
3097e41f4b71Sopenharmony_ci}
3098e41f4b71Sopenharmony_ci```
3099e41f4b71Sopenharmony_ci
3100e41f4b71Sopenharmony_ci### getLastObject
3101e41f4b71Sopenharmony_ci
3102e41f4b71Sopenharmony_cigetLastObject(): Promise&lt;T&gt;
3103e41f4b71Sopenharmony_ci
3104e41f4b71Sopenharmony_ci获取文件检索结果中的最后一个文件资产。此方法使用Promise方式来返回。
3105e41f4b71Sopenharmony_ci
3106e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
3107e41f4b71Sopenharmony_ci
3108e41f4b71Sopenharmony_ci**返回值:**
3109e41f4b71Sopenharmony_ci
3110e41f4b71Sopenharmony_ci| 类型                                    | 说明              |
3111e41f4b71Sopenharmony_ci| --------------------------------------- | ----------------- |
3112e41f4b71Sopenharmony_ci| Promise&lt;T&gt; | Promise对象,返回结果集中最后一个对象。 |
3113e41f4b71Sopenharmony_ci
3114e41f4b71Sopenharmony_ci**示例:**
3115e41f4b71Sopenharmony_ci
3116e41f4b71Sopenharmony_ci```ts
3117e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
3118e41f4b71Sopenharmony_ci
3119e41f4b71Sopenharmony_ciasync function example() {
3120e41f4b71Sopenharmony_ci  console.info('getLastObjectDemo');
3121e41f4b71Sopenharmony_ci  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
3122e41f4b71Sopenharmony_ci  let fetchOption: userFileManager.FetchOptions = {
3123e41f4b71Sopenharmony_ci    fetchColumns: [],
3124e41f4b71Sopenharmony_ci    predicates: predicates
3125e41f4b71Sopenharmony_ci  };
3126e41f4b71Sopenharmony_ci  let fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await mgr.getPhotoAssets(fetchOption);
3127e41f4b71Sopenharmony_ci  let fileAsset: userFileManager.FileAsset = await fetchResult.getLastObject();
3128e41f4b71Sopenharmony_ci  console.info('fileAsset displayName: ', fileAsset.displayName);
3129e41f4b71Sopenharmony_ci}
3130e41f4b71Sopenharmony_ci```
3131e41f4b71Sopenharmony_ci
3132e41f4b71Sopenharmony_ci### getPositionObject
3133e41f4b71Sopenharmony_ci
3134e41f4b71Sopenharmony_cigetPositionObject(index: number, callback: AsyncCallback&lt;T&gt;): void
3135e41f4b71Sopenharmony_ci
3136e41f4b71Sopenharmony_ci获取文件检索结果中具有指定索引的文件资产。此方法使用callback来返回。
3137e41f4b71Sopenharmony_ci
3138e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
3139e41f4b71Sopenharmony_ci
3140e41f4b71Sopenharmony_ci**参数:**
3141e41f4b71Sopenharmony_ci
3142e41f4b71Sopenharmony_ci| 参数名       | 类型                                       | 必填   | 说明                 |
3143e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ------------------ |
3144e41f4b71Sopenharmony_ci| index    | number                                   | 是    | 要获取的文件的索引,从0开始。     |
3145e41f4b71Sopenharmony_ci| callback | AsyncCallback&lt;T&gt; | 是    | 异步返回指定索引的文件资产的回调。 |
3146e41f4b71Sopenharmony_ci
3147e41f4b71Sopenharmony_ci**错误码:**
3148e41f4b71Sopenharmony_ci
3149e41f4b71Sopenharmony_ci接口抛出错误码的详细介绍请参见[文件管理错误码](errorcode-filemanagement.md)。
3150e41f4b71Sopenharmony_ci
3151e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
3152e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- |
3153e41f4b71Sopenharmony_ci| 13900020   | if type index is not number.         |
3154e41f4b71Sopenharmony_ci
3155e41f4b71Sopenharmony_ci**示例:**
3156e41f4b71Sopenharmony_ci
3157e41f4b71Sopenharmony_ci```ts
3158e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
3159e41f4b71Sopenharmony_ci
3160e41f4b71Sopenharmony_ciasync function example() {
3161e41f4b71Sopenharmony_ci  console.info('getPositionObjectDemo');
3162e41f4b71Sopenharmony_ci  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
3163e41f4b71Sopenharmony_ci  let fetchOption: userFileManager.FetchOptions = {
3164e41f4b71Sopenharmony_ci    fetchColumns: [],
3165e41f4b71Sopenharmony_ci    predicates: predicates
3166e41f4b71Sopenharmony_ci  };
3167e41f4b71Sopenharmony_ci  let fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await mgr.getPhotoAssets(fetchOption);
3168e41f4b71Sopenharmony_ci  fetchResult.getPositionObject(0, (err, fileAsset) => {
3169e41f4b71Sopenharmony_ci    if (fileAsset != undefined) {
3170e41f4b71Sopenharmony_ci      console.info('fileAsset displayName: ', fileAsset.displayName);
3171e41f4b71Sopenharmony_ci    } else {
3172e41f4b71Sopenharmony_ci      console.error('fileAsset failed with err: ' + err);
3173e41f4b71Sopenharmony_ci    }
3174e41f4b71Sopenharmony_ci  });
3175e41f4b71Sopenharmony_ci}
3176e41f4b71Sopenharmony_ci```
3177e41f4b71Sopenharmony_ci
3178e41f4b71Sopenharmony_ci### getPositionObject
3179e41f4b71Sopenharmony_ci
3180e41f4b71Sopenharmony_cigetPositionObject(index: number): Promise&lt;T&gt;
3181e41f4b71Sopenharmony_ci
3182e41f4b71Sopenharmony_ci获取文件检索结果中具有指定索引的文件资产。此方法使用Promise形式返回文件Asset。
3183e41f4b71Sopenharmony_ci
3184e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
3185e41f4b71Sopenharmony_ci
3186e41f4b71Sopenharmony_ci**参数:**
3187e41f4b71Sopenharmony_ci
3188e41f4b71Sopenharmony_ci| 参数名    | 类型     | 必填   | 说明             |
3189e41f4b71Sopenharmony_ci| ----- | ------ | ---- | -------------- |
3190e41f4b71Sopenharmony_ci| index | number | 是    | 要获取的文件的索引,从0开始。 |
3191e41f4b71Sopenharmony_ci
3192e41f4b71Sopenharmony_ci**返回值:**
3193e41f4b71Sopenharmony_ci
3194e41f4b71Sopenharmony_ci| 类型                                    | 说明              |
3195e41f4b71Sopenharmony_ci| --------------------------------------- | ----------------- |
3196e41f4b71Sopenharmony_ci| Promise&lt;T&gt; | Promise对象,返回结果集中指定索引的一个对象。 |
3197e41f4b71Sopenharmony_ci
3198e41f4b71Sopenharmony_ci**错误码:**
3199e41f4b71Sopenharmony_ci
3200e41f4b71Sopenharmony_ci接口抛出错误码的详细介绍请参见[文件管理错误码](errorcode-filemanagement.md)。
3201e41f4b71Sopenharmony_ci
3202e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
3203e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- |
3204e41f4b71Sopenharmony_ci| 13900020   | if type index is not number.         |
3205e41f4b71Sopenharmony_ci
3206e41f4b71Sopenharmony_ci**示例:**
3207e41f4b71Sopenharmony_ci
3208e41f4b71Sopenharmony_ci```ts
3209e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
3210e41f4b71Sopenharmony_ci
3211e41f4b71Sopenharmony_ciasync function example() {
3212e41f4b71Sopenharmony_ci  console.info('getPositionObjectDemo');
3213e41f4b71Sopenharmony_ci  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
3214e41f4b71Sopenharmony_ci  let fetchOption: userFileManager.FetchOptions = {
3215e41f4b71Sopenharmony_ci    fetchColumns: [],
3216e41f4b71Sopenharmony_ci    predicates: predicates
3217e41f4b71Sopenharmony_ci  };
3218e41f4b71Sopenharmony_ci  let fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await mgr.getPhotoAssets(fetchOption);
3219e41f4b71Sopenharmony_ci  let fileAsset: userFileManager.FileAsset = await fetchResult.getPositionObject(0);
3220e41f4b71Sopenharmony_ci  console.info('fileAsset displayName: ', fileAsset.displayName);
3221e41f4b71Sopenharmony_ci}
3222e41f4b71Sopenharmony_ci```
3223e41f4b71Sopenharmony_ci
3224e41f4b71Sopenharmony_ci### getAllObject<sup>10+</sup>
3225e41f4b71Sopenharmony_ci
3226e41f4b71Sopenharmony_cigetAllObject(callback: AsyncCallback&lt;Array&lt;T&gt;&gt;): void
3227e41f4b71Sopenharmony_ci
3228e41f4b71Sopenharmony_ci获取文件检索结果中的所有文件资产。此方法使用callback形式返回结果。
3229e41f4b71Sopenharmony_ci
3230e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
3231e41f4b71Sopenharmony_ci
3232e41f4b71Sopenharmony_ci**参数:**
3233e41f4b71Sopenharmony_ci
3234e41f4b71Sopenharmony_ci| 参数名   | 类型                                          | 必填 | 说明                                        |
3235e41f4b71Sopenharmony_ci| -------- | --------------------------------------------- | ---- | ------------------------------------------- |
3236e41f4b71Sopenharmony_ci| callback | AsyncCallback&lt;Array&lt;T&gt;&gt; | 是   | 异步获取结果集中的所有文件资产完成后的回调。 |
3237e41f4b71Sopenharmony_ci
3238e41f4b71Sopenharmony_ci**示例:**
3239e41f4b71Sopenharmony_ci
3240e41f4b71Sopenharmony_ci```ts
3241e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
3242e41f4b71Sopenharmony_ci
3243e41f4b71Sopenharmony_ciasync function example() {
3244e41f4b71Sopenharmony_ci  console.info('getAllObjectDemo');
3245e41f4b71Sopenharmony_ci  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
3246e41f4b71Sopenharmony_ci  let fetchOption: userFileManager.FetchOptions = {
3247e41f4b71Sopenharmony_ci    fetchColumns: [],
3248e41f4b71Sopenharmony_ci    predicates: predicates
3249e41f4b71Sopenharmony_ci  };
3250e41f4b71Sopenharmony_ci  let fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await mgr.getPhotoAssets(fetchOption);
3251e41f4b71Sopenharmony_ci  fetchResult.getAllObject((err, fileAssetList) => {
3252e41f4b71Sopenharmony_ci    if (fileAssetList != undefined) {
3253e41f4b71Sopenharmony_ci      console.info('fileAssetList length: ', fileAssetList.length);
3254e41f4b71Sopenharmony_ci    } else {
3255e41f4b71Sopenharmony_ci      console.error('fileAssetList failed with err:' + err);
3256e41f4b71Sopenharmony_ci    }
3257e41f4b71Sopenharmony_ci  });
3258e41f4b71Sopenharmony_ci}
3259e41f4b71Sopenharmony_ci```
3260e41f4b71Sopenharmony_ci
3261e41f4b71Sopenharmony_ci### getAllObject<sup>10+</sup>
3262e41f4b71Sopenharmony_ci
3263e41f4b71Sopenharmony_cigetAllObject(): Promise&lt;Array&lt;T&gt;&gt;
3264e41f4b71Sopenharmony_ci
3265e41f4b71Sopenharmony_ci获取文件检索结果中的所有文件资产。此方法使用promise方式来异步返回。
3266e41f4b71Sopenharmony_ci
3267e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
3268e41f4b71Sopenharmony_ci
3269e41f4b71Sopenharmony_ci**返回值:**
3270e41f4b71Sopenharmony_ci
3271e41f4b71Sopenharmony_ci| 类型                                    | 说明                       |
3272e41f4b71Sopenharmony_ci| --------------------------------------- | -------------------------- |
3273e41f4b71Sopenharmony_ci| Promise&lt;Array&lt;T&gt;&gt; | Promise对象,返回结果集中所有文件资产数组。 |
3274e41f4b71Sopenharmony_ci
3275e41f4b71Sopenharmony_ci**示例:**
3276e41f4b71Sopenharmony_ci
3277e41f4b71Sopenharmony_ci```ts
3278e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
3279e41f4b71Sopenharmony_ci
3280e41f4b71Sopenharmony_ciasync function example() {
3281e41f4b71Sopenharmony_ci  console.info('getAllObjectDemo');
3282e41f4b71Sopenharmony_ci  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
3283e41f4b71Sopenharmony_ci  let fetchOption: userFileManager.FetchOptions = {
3284e41f4b71Sopenharmony_ci    fetchColumns: [],
3285e41f4b71Sopenharmony_ci    predicates: predicates
3286e41f4b71Sopenharmony_ci  };
3287e41f4b71Sopenharmony_ci  let fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await mgr.getPhotoAssets(fetchOption);
3288e41f4b71Sopenharmony_ci  let fileAssetList: Array<userFileManager.FileAsset> = await fetchResult.getAllObject();
3289e41f4b71Sopenharmony_ci  console.info('fileAssetList length: ', fileAssetList.length);
3290e41f4b71Sopenharmony_ci}
3291e41f4b71Sopenharmony_ci```
3292e41f4b71Sopenharmony_ci
3293e41f4b71Sopenharmony_ci## Album
3294e41f4b71Sopenharmony_ci
3295e41f4b71Sopenharmony_ci实体相册
3296e41f4b71Sopenharmony_ci
3297e41f4b71Sopenharmony_ci### 属性
3298e41f4b71Sopenharmony_ci
3299e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
3300e41f4b71Sopenharmony_ci
3301e41f4b71Sopenharmony_ci| 名称           | 类型    | 只读   | 可写  | 说明   |
3302e41f4b71Sopenharmony_ci| ------------ | ------ | ---- | ---- | ------- |
3303e41f4b71Sopenharmony_ci| albumType<sup>10+</sup> | [AlbumType]( #albumtype10) | 是    | 否    | 相册类型。    |
3304e41f4b71Sopenharmony_ci| albumSubType<sup>10+</sup> | [AlbumSubType]( #albumsubtype10) | 是    | 否   | 相册子类型。    |
3305e41f4b71Sopenharmony_ci| albumName | string | 是    | 用户相册可写,预置相册不可写   | 相册名称。    |
3306e41f4b71Sopenharmony_ci| albumUri | string | 是    | 否    | 相册Uri。   |
3307e41f4b71Sopenharmony_ci| count | number | 是    | 否    |  相册中文件数量。 |
3308e41f4b71Sopenharmony_ci| coverUri | string | 是    | 用户相册可写,预置相册不可写	    | 封面文件Uri。 |
3309e41f4b71Sopenharmony_ci
3310e41f4b71Sopenharmony_ci### getPhotoAssets
3311e41f4b71Sopenharmony_ci
3312e41f4b71Sopenharmony_cigetPhotoAssets(options: FetchOptions, callback: AsyncCallback&lt;FetchResult&lt;FileAsset&gt;&gt;): void;
3313e41f4b71Sopenharmony_ci
3314e41f4b71Sopenharmony_ci获取相册中的文件。该方法使用callback形式来返回文件。
3315e41f4b71Sopenharmony_ci
3316e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.READ_IMAGEVIDEO
3317e41f4b71Sopenharmony_ci
3318e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
3319e41f4b71Sopenharmony_ci
3320e41f4b71Sopenharmony_ci**参数:**
3321e41f4b71Sopenharmony_ci
3322e41f4b71Sopenharmony_ci| 参数名   | 类型                      | 必填 | 说明       |
3323e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ---------- |
3324e41f4b71Sopenharmony_ci| options | [FetchOptions](#fetchoptions) | 是   | 检索选项。 |
3325e41f4b71Sopenharmony_ci| callback | AsyncCallback&lt;[FetchResult](#fetchresult)&lt;[FileAsset](#fileasset)&gt;&gt; | 是   | callback返回图片和视频数据结果集。 |
3326e41f4b71Sopenharmony_ci
3327e41f4b71Sopenharmony_ci**错误码:**
3328e41f4b71Sopenharmony_ci
3329e41f4b71Sopenharmony_ci接口抛出错误码的详细介绍请参见[文件管理错误码](errorcode-filemanagement.md)。
3330e41f4b71Sopenharmony_ci
3331e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
3332e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- |
3333e41f4b71Sopenharmony_ci| 13900020   | if type options is not FetchOptions.         |
3334e41f4b71Sopenharmony_ci
3335e41f4b71Sopenharmony_ci**示例:**
3336e41f4b71Sopenharmony_ci
3337e41f4b71Sopenharmony_ci```ts
3338e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
3339e41f4b71Sopenharmony_ci
3340e41f4b71Sopenharmony_ciasync function example() {
3341e41f4b71Sopenharmony_ci  console.info('albumGetFileAssetsDemoCallback');
3342e41f4b71Sopenharmony_ci
3343e41f4b71Sopenharmony_ci  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
3344e41f4b71Sopenharmony_ci  let albumFetchOptions: userFileManager.AlbumFetchOptions = {
3345e41f4b71Sopenharmony_ci    predicates: predicates
3346e41f4b71Sopenharmony_ci  };
3347e41f4b71Sopenharmony_ci  let fetchOption: userFileManager.FetchOptions = {
3348e41f4b71Sopenharmony_ci    fetchColumns: [],
3349e41f4b71Sopenharmony_ci    predicates: predicates
3350e41f4b71Sopenharmony_ci  };
3351e41f4b71Sopenharmony_ci  let albumList: userFileManager.FetchResult<userFileManager.Album> = await mgr.getPhotoAlbums(albumFetchOptions);
3352e41f4b71Sopenharmony_ci  let album: userFileManager.Album = await albumList.getFirstObject();
3353e41f4b71Sopenharmony_ci  album.getPhotoAssets(fetchOption, (err, albumFetchResult) => {
3354e41f4b71Sopenharmony_ci    if (albumFetchResult != undefined) {
3355e41f4b71Sopenharmony_ci      console.info('album getPhotoAssets successfully, getCount: ' + albumFetchResult.getCount());
3356e41f4b71Sopenharmony_ci    } else {
3357e41f4b71Sopenharmony_ci      console.error('album getPhotoAssets failed with error: ' + err);
3358e41f4b71Sopenharmony_ci    }
3359e41f4b71Sopenharmony_ci  });
3360e41f4b71Sopenharmony_ci}
3361e41f4b71Sopenharmony_ci```
3362e41f4b71Sopenharmony_ci
3363e41f4b71Sopenharmony_ci### getPhotoAssets
3364e41f4b71Sopenharmony_ci
3365e41f4b71Sopenharmony_cigetPhotoAssets(options: FetchOptions): Promise&lt;FetchResult&lt;FileAsset&gt;&gt;;
3366e41f4b71Sopenharmony_ci
3367e41f4b71Sopenharmony_ci获取相册中的文件。该方法使用Promise来返回文件。
3368e41f4b71Sopenharmony_ci
3369e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.READ_IMAGEVIDEO
3370e41f4b71Sopenharmony_ci
3371e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
3372e41f4b71Sopenharmony_ci
3373e41f4b71Sopenharmony_ci**参数:**
3374e41f4b71Sopenharmony_ci
3375e41f4b71Sopenharmony_ci| 参数名   | 类型                      | 必填 | 说明       |
3376e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ---------- |
3377e41f4b71Sopenharmony_ci| options | [FetchOptions](#fetchoptions) | 是   | 检索选项。 |
3378e41f4b71Sopenharmony_ci
3379e41f4b71Sopenharmony_ci**返回值:**
3380e41f4b71Sopenharmony_ci
3381e41f4b71Sopenharmony_ci| 类型                                    | 说明              |
3382e41f4b71Sopenharmony_ci| --------------------------------------- | ----------------- |
3383e41f4b71Sopenharmony_ci| Promise&lt;[FetchResult](#fetchresult)&lt;[FileAsset](#fileasset)&gt;&gt; | Promise对象,返回图片和视频数据结果集。 |
3384e41f4b71Sopenharmony_ci
3385e41f4b71Sopenharmony_ci**错误码:**
3386e41f4b71Sopenharmony_ci
3387e41f4b71Sopenharmony_ci接口抛出错误码的详细介绍请参见[文件管理错误码](errorcode-filemanagement.md)。
3388e41f4b71Sopenharmony_ci
3389e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
3390e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- |
3391e41f4b71Sopenharmony_ci| 13900020   | if type options is not FetchOptions.         |
3392e41f4b71Sopenharmony_ci
3393e41f4b71Sopenharmony_ci**示例:**
3394e41f4b71Sopenharmony_ci
3395e41f4b71Sopenharmony_ci```ts
3396e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
3397e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
3398e41f4b71Sopenharmony_ci
3399e41f4b71Sopenharmony_ciasync function example() {
3400e41f4b71Sopenharmony_ci  console.info('albumGetFileAssetsDemoPromise');
3401e41f4b71Sopenharmony_ci
3402e41f4b71Sopenharmony_ci  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
3403e41f4b71Sopenharmony_ci  let albumFetchOptions: userFileManager.AlbumFetchOptions = {
3404e41f4b71Sopenharmony_ci    predicates: predicates
3405e41f4b71Sopenharmony_ci  };
3406e41f4b71Sopenharmony_ci  let fetchOption: userFileManager.FetchOptions = {
3407e41f4b71Sopenharmony_ci    fetchColumns: [],
3408e41f4b71Sopenharmony_ci    predicates: predicates
3409e41f4b71Sopenharmony_ci  };
3410e41f4b71Sopenharmony_ci  const albumList: userFileManager.FetchResult<userFileManager.Album> = await mgr.getPhotoAlbums(albumFetchOptions);
3411e41f4b71Sopenharmony_ci  const album: userFileManager.Album = await albumList.getFirstObject();
3412e41f4b71Sopenharmony_ci  album.getPhotoAssets(fetchOption).then((albumFetchResult) => {
3413e41f4b71Sopenharmony_ci    console.info('album getFileAssets successfully, getCount: ' + albumFetchResult.getCount());
3414e41f4b71Sopenharmony_ci  }).catch((err: BusinessError) => {
3415e41f4b71Sopenharmony_ci    console.error('album getFileAssets failed with error: ' + err);
3416e41f4b71Sopenharmony_ci  });
3417e41f4b71Sopenharmony_ci}
3418e41f4b71Sopenharmony_ci```
3419e41f4b71Sopenharmony_ci
3420e41f4b71Sopenharmony_ci### commitModify
3421e41f4b71Sopenharmony_ci
3422e41f4b71Sopenharmony_cicommitModify(callback: AsyncCallback&lt;void&gt;): void;
3423e41f4b71Sopenharmony_ci
3424e41f4b71Sopenharmony_ci更新相册属性修改到数据库中。该方法使用callback形式来返回结果。
3425e41f4b71Sopenharmony_ci
3426e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
3427e41f4b71Sopenharmony_ci
3428e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
3429e41f4b71Sopenharmony_ci
3430e41f4b71Sopenharmony_ci**参数:**
3431e41f4b71Sopenharmony_ci
3432e41f4b71Sopenharmony_ci| 参数名   | 类型                      | 必填 | 说明       |
3433e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ---------- |
3434e41f4b71Sopenharmony_ci| callback | AsyncCallback&lt;void&gt; | 是   | callback返回void。 |
3435e41f4b71Sopenharmony_ci
3436e41f4b71Sopenharmony_ci**示例:**
3437e41f4b71Sopenharmony_ci
3438e41f4b71Sopenharmony_ci```ts
3439e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
3440e41f4b71Sopenharmony_ci
3441e41f4b71Sopenharmony_ciasync function example() {
3442e41f4b71Sopenharmony_ci  console.info('albumCommitModifyDemo');
3443e41f4b71Sopenharmony_ci  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
3444e41f4b71Sopenharmony_ci  let albumFetchOptions: userFileManager.AlbumFetchOptions = {
3445e41f4b71Sopenharmony_ci    predicates: predicates
3446e41f4b71Sopenharmony_ci  };
3447e41f4b71Sopenharmony_ci  const albumList: userFileManager.FetchResult<userFileManager.Album> = await mgr.getPhotoAlbums(albumFetchOptions);
3448e41f4b71Sopenharmony_ci  const album: userFileManager.Album = await albumList.getFirstObject();
3449e41f4b71Sopenharmony_ci  album.albumName = 'hello';
3450e41f4b71Sopenharmony_ci  album.commitModify((err) => {
3451e41f4b71Sopenharmony_ci    if (err != undefined) {
3452e41f4b71Sopenharmony_ci      console.error('commitModify failed with error: ' + err);
3453e41f4b71Sopenharmony_ci    } else {
3454e41f4b71Sopenharmony_ci      console.info('commitModify successfully');
3455e41f4b71Sopenharmony_ci    }
3456e41f4b71Sopenharmony_ci  });
3457e41f4b71Sopenharmony_ci}
3458e41f4b71Sopenharmony_ci```
3459e41f4b71Sopenharmony_ci
3460e41f4b71Sopenharmony_ci### commitModify
3461e41f4b71Sopenharmony_ci
3462e41f4b71Sopenharmony_cicommitModify(): Promise&lt;void&gt;;
3463e41f4b71Sopenharmony_ci
3464e41f4b71Sopenharmony_ci更新相册属性修改到数据库中。该方法使用Promise来返回结果。
3465e41f4b71Sopenharmony_ci
3466e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
3467e41f4b71Sopenharmony_ci
3468e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
3469e41f4b71Sopenharmony_ci
3470e41f4b71Sopenharmony_ci**返回值:**
3471e41f4b71Sopenharmony_ci
3472e41f4b71Sopenharmony_ci| 类型                  | 说明           |
3473e41f4b71Sopenharmony_ci| ------------------- | ------------ |
3474e41f4b71Sopenharmony_ci| Promise&lt;void&gt; | Promise对象,返回void。 |
3475e41f4b71Sopenharmony_ci
3476e41f4b71Sopenharmony_ci**示例:**
3477e41f4b71Sopenharmony_ci
3478e41f4b71Sopenharmony_ci```ts
3479e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
3480e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
3481e41f4b71Sopenharmony_ci
3482e41f4b71Sopenharmony_ciasync function example() {
3483e41f4b71Sopenharmony_ci  console.info('albumCommitModifyDemo');
3484e41f4b71Sopenharmony_ci  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
3485e41f4b71Sopenharmony_ci  let albumFetchOptions: userFileManager.AlbumFetchOptions = {
3486e41f4b71Sopenharmony_ci    predicates: predicates
3487e41f4b71Sopenharmony_ci  };
3488e41f4b71Sopenharmony_ci  try {
3489e41f4b71Sopenharmony_ci    let albumList: userFileManager.FetchResult<userFileManager.Album> = await mgr.getPhotoAlbums(albumFetchOptions);
3490e41f4b71Sopenharmony_ci    let album: userFileManager.Album = await albumList.getFirstObject();
3491e41f4b71Sopenharmony_ci    album.albumName = 'hello';
3492e41f4b71Sopenharmony_ci    album.commitModify().then(() => {
3493e41f4b71Sopenharmony_ci      console.info('commitModify successfully');
3494e41f4b71Sopenharmony_ci    }).catch((err: BusinessError) => {
3495e41f4b71Sopenharmony_ci      console.error('commitModify failed with error: ' + err);
3496e41f4b71Sopenharmony_ci    });
3497e41f4b71Sopenharmony_ci  } catch (err) {
3498e41f4b71Sopenharmony_ci    console.error('getPhotoAlbums failed. message = ', err);
3499e41f4b71Sopenharmony_ci  }
3500e41f4b71Sopenharmony_ci}
3501e41f4b71Sopenharmony_ci```
3502e41f4b71Sopenharmony_ci
3503e41f4b71Sopenharmony_ci### addPhotoAssets<sup>10+</sup>
3504e41f4b71Sopenharmony_ci
3505e41f4b71Sopenharmony_ciaddPhotoAssets(assets: Array&lt;FileAsset&gt;, callback: AsyncCallback&lt;void&gt;): void;
3506e41f4b71Sopenharmony_ci
3507e41f4b71Sopenharmony_ci往相册中添加图片或者视频,需要先预置相册和文件资源。该方法使用callback形式来返回结果。
3508e41f4b71Sopenharmony_ci
3509e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
3510e41f4b71Sopenharmony_ci
3511e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
3512e41f4b71Sopenharmony_ci
3513e41f4b71Sopenharmony_ci**参数:**
3514e41f4b71Sopenharmony_ci
3515e41f4b71Sopenharmony_ci| 参数名   | 类型                      | 必填 | 说明       |
3516e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ---------- |
3517e41f4b71Sopenharmony_ci| assets | Array&lt;[FileAsset](#fileasset)&gt; | 是   | 待添加到相册中的图片或视频数组。 |
3518e41f4b71Sopenharmony_ci| callback | AsyncCallback&lt;void&gt; | 是   | callback返回void。 |
3519e41f4b71Sopenharmony_ci
3520e41f4b71Sopenharmony_ci**错误码:**
3521e41f4b71Sopenharmony_ci
3522e41f4b71Sopenharmony_ci接口抛出错误码的详细介绍请参见[文件管理错误码](errorcode-filemanagement.md)。
3523e41f4b71Sopenharmony_ci
3524e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
3525e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- |
3526e41f4b71Sopenharmony_ci| 13900020   | if PhotoAssets is invalid.         |
3527e41f4b71Sopenharmony_ci
3528e41f4b71Sopenharmony_ci**示例:**
3529e41f4b71Sopenharmony_ci
3530e41f4b71Sopenharmony_ci```ts
3531e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
3532e41f4b71Sopenharmony_ci
3533e41f4b71Sopenharmony_ciasync function example() {
3534e41f4b71Sopenharmony_ci  try {
3535e41f4b71Sopenharmony_ci    console.info('addPhotoAssetsDemoCallback');
3536e41f4b71Sopenharmony_ci    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
3537e41f4b71Sopenharmony_ci    let fetchOption: userFileManager.FetchOptions = {
3538e41f4b71Sopenharmony_ci      fetchColumns: [],
3539e41f4b71Sopenharmony_ci      predicates: predicates
3540e41f4b71Sopenharmony_ci    };
3541e41f4b71Sopenharmony_ci    let albumFetchResult: userFileManager.FetchResult<userFileManager.Album> = await mgr.getAlbums(userFileManager.AlbumType.USER, userFileManager.AlbumSubType.USER_GENERIC);
3542e41f4b71Sopenharmony_ci    let album: userFileManager.Album = await albumFetchResult.getFirstObject();
3543e41f4b71Sopenharmony_ci    let fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await mgr.getPhotoAssets(fetchOption);
3544e41f4b71Sopenharmony_ci    let asset: userFileManager.FileAsset = await fetchResult.getFirstObject();
3545e41f4b71Sopenharmony_ci    album.addPhotoAssets([asset], (err) => {
3546e41f4b71Sopenharmony_ci      if (err === undefined) {
3547e41f4b71Sopenharmony_ci        console.info('album addPhotoAssets successfully');
3548e41f4b71Sopenharmony_ci      } else {
3549e41f4b71Sopenharmony_ci        console.error('album addPhotoAssets failed with error: ' + err);
3550e41f4b71Sopenharmony_ci      }
3551e41f4b71Sopenharmony_ci    });
3552e41f4b71Sopenharmony_ci  } catch (err) {
3553e41f4b71Sopenharmony_ci    console.error('addPhotoAssetsDemoCallback failed with error: ' + err);
3554e41f4b71Sopenharmony_ci  }
3555e41f4b71Sopenharmony_ci}
3556e41f4b71Sopenharmony_ci```
3557e41f4b71Sopenharmony_ci
3558e41f4b71Sopenharmony_ci### addPhotoAssets<sup>10+</sup>
3559e41f4b71Sopenharmony_ci
3560e41f4b71Sopenharmony_ciaddPhotoAssets(assets: Array&lt;FileAsset&gt;): Promise&lt;void&gt;;
3561e41f4b71Sopenharmony_ci
3562e41f4b71Sopenharmony_ci往相册中添加图片或者视频,需要先预置相册和文件资源。该方法使用Promise来返回结果。
3563e41f4b71Sopenharmony_ci
3564e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
3565e41f4b71Sopenharmony_ci
3566e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
3567e41f4b71Sopenharmony_ci
3568e41f4b71Sopenharmony_ci**参数:**
3569e41f4b71Sopenharmony_ci
3570e41f4b71Sopenharmony_ci| 参数名   | 类型                      | 必填 | 说明       |
3571e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ---------- |
3572e41f4b71Sopenharmony_ci| assets | Array&lt;[FileAsset](#fileasset)&gt; | 是   | 待添加到相册中的图片或视频数组。 |
3573e41f4b71Sopenharmony_ci
3574e41f4b71Sopenharmony_ci**返回值:**
3575e41f4b71Sopenharmony_ci
3576e41f4b71Sopenharmony_ci| 类型                                    | 说明              |
3577e41f4b71Sopenharmony_ci| --------------------------------------- | ----------------- |
3578e41f4b71Sopenharmony_ci|Promise&lt;void&gt; | Promise对象,返回void。 |
3579e41f4b71Sopenharmony_ci
3580e41f4b71Sopenharmony_ci**错误码:**
3581e41f4b71Sopenharmony_ci
3582e41f4b71Sopenharmony_ci接口抛出错误码的详细介绍请参见[文件管理错误码](errorcode-filemanagement.md)。
3583e41f4b71Sopenharmony_ci
3584e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
3585e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- |
3586e41f4b71Sopenharmony_ci| 13900020   | if PhotoAssets is invalid.         |
3587e41f4b71Sopenharmony_ci
3588e41f4b71Sopenharmony_ci**示例:**
3589e41f4b71Sopenharmony_ci
3590e41f4b71Sopenharmony_ci```ts
3591e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
3592e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
3593e41f4b71Sopenharmony_ci
3594e41f4b71Sopenharmony_ciasync function example() {
3595e41f4b71Sopenharmony_ci  try {
3596e41f4b71Sopenharmony_ci    console.info('addPhotoAssetsDemoPromise');
3597e41f4b71Sopenharmony_ci    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
3598e41f4b71Sopenharmony_ci    let fetchOption: userFileManager.FetchOptions = {
3599e41f4b71Sopenharmony_ci      fetchColumns: [],
3600e41f4b71Sopenharmony_ci      predicates: predicates
3601e41f4b71Sopenharmony_ci    };
3602e41f4b71Sopenharmony_ci    let albumFetchResult: userFileManager.FetchResult<userFileManager.Album> = await mgr.getAlbums(userFileManager.AlbumType.USER, userFileManager.AlbumSubType.USER_GENERIC);
3603e41f4b71Sopenharmony_ci    let album: userFileManager.Album = await albumFetchResult.getFirstObject();
3604e41f4b71Sopenharmony_ci    let fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await mgr.getPhotoAssets(fetchOption);
3605e41f4b71Sopenharmony_ci    let asset: userFileManager.FileAsset = await fetchResult.getFirstObject();
3606e41f4b71Sopenharmony_ci    album.addPhotoAssets([asset]).then(() => {
3607e41f4b71Sopenharmony_ci      console.info('album addPhotoAssets successfully');
3608e41f4b71Sopenharmony_ci    }).catch((err: BusinessError) => {
3609e41f4b71Sopenharmony_ci      console.error('album addPhotoAssets failed with error: ' + err);
3610e41f4b71Sopenharmony_ci    });
3611e41f4b71Sopenharmony_ci  } catch (err) {
3612e41f4b71Sopenharmony_ci    console.error('addPhotoAssetsDemoPromise failed with error: ' + err);
3613e41f4b71Sopenharmony_ci  }
3614e41f4b71Sopenharmony_ci}
3615e41f4b71Sopenharmony_ci```
3616e41f4b71Sopenharmony_ci
3617e41f4b71Sopenharmony_ci### removePhotoAssets<sup>10+</sup>
3618e41f4b71Sopenharmony_ci
3619e41f4b71Sopenharmony_ciremovePhotoAssets(assets: Array&lt;FileAsset&gt;, callback: AsyncCallback&lt;void&gt;): void;
3620e41f4b71Sopenharmony_ci
3621e41f4b71Sopenharmony_ci从相册中移除图片或者视频,需要先预置相册和文件资源。该方法使用callback形式来返回结果。
3622e41f4b71Sopenharmony_ci
3623e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
3624e41f4b71Sopenharmony_ci
3625e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
3626e41f4b71Sopenharmony_ci
3627e41f4b71Sopenharmony_ci**参数:**
3628e41f4b71Sopenharmony_ci
3629e41f4b71Sopenharmony_ci| 参数名   | 类型                      | 必填 | 说明       |
3630e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ---------- |
3631e41f4b71Sopenharmony_ci| assets | Array&lt;[FileAsset](#fileasset)&gt; | 是   | 相册中待移除的图片或视频数组。 |
3632e41f4b71Sopenharmony_ci| callback | AsyncCallback&lt;void&gt; | 是   | callback返回void。 |
3633e41f4b71Sopenharmony_ci
3634e41f4b71Sopenharmony_ci**错误码:**
3635e41f4b71Sopenharmony_ci
3636e41f4b71Sopenharmony_ci接口抛出错误码的详细介绍请参见[文件管理错误码](errorcode-filemanagement.md)。
3637e41f4b71Sopenharmony_ci
3638e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
3639e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- |
3640e41f4b71Sopenharmony_ci| 13900020   | if PhotoAssets is invalid.         |
3641e41f4b71Sopenharmony_ci
3642e41f4b71Sopenharmony_ci**示例:**
3643e41f4b71Sopenharmony_ci
3644e41f4b71Sopenharmony_ci```ts
3645e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
3646e41f4b71Sopenharmony_ci
3647e41f4b71Sopenharmony_ciasync function example() {
3648e41f4b71Sopenharmony_ci  try {
3649e41f4b71Sopenharmony_ci    console.info('removePhotoAssetsDemoCallback');
3650e41f4b71Sopenharmony_ci    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
3651e41f4b71Sopenharmony_ci    let fetchOption: userFileManager.FetchOptions = {
3652e41f4b71Sopenharmony_ci      fetchColumns: [],
3653e41f4b71Sopenharmony_ci      predicates: predicates
3654e41f4b71Sopenharmony_ci    };
3655e41f4b71Sopenharmony_ci    let albumFetchResult: userFileManager.FetchResult<userFileManager.Album> = await mgr.getAlbums(userFileManager.AlbumType.USER, userFileManager.AlbumSubType.USER_GENERIC);
3656e41f4b71Sopenharmony_ci    let album: userFileManager.Album = await albumFetchResult.getFirstObject();
3657e41f4b71Sopenharmony_ci    let fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await album.getPhotoAssets(fetchOption);
3658e41f4b71Sopenharmony_ci    let asset: userFileManager.FileAsset = await fetchResult.getFirstObject();
3659e41f4b71Sopenharmony_ci    album.removePhotoAssets([asset], (err) => {
3660e41f4b71Sopenharmony_ci      if (err === undefined) {
3661e41f4b71Sopenharmony_ci        console.info('album removePhotoAssets successfully');
3662e41f4b71Sopenharmony_ci      } else {
3663e41f4b71Sopenharmony_ci        console.error('album removePhotoAssets failed with error: ' + err);
3664e41f4b71Sopenharmony_ci      }
3665e41f4b71Sopenharmony_ci    });
3666e41f4b71Sopenharmony_ci  } catch (err) {
3667e41f4b71Sopenharmony_ci    console.error('removePhotoAssetsDemoCallback failed with error: ' + err);
3668e41f4b71Sopenharmony_ci  }
3669e41f4b71Sopenharmony_ci}
3670e41f4b71Sopenharmony_ci```
3671e41f4b71Sopenharmony_ci
3672e41f4b71Sopenharmony_ci### removePhotoAssets<sup>10+</sup>
3673e41f4b71Sopenharmony_ci
3674e41f4b71Sopenharmony_ciremovePhotoAssets(assets: Array&lt;FileAsset&gt;): Promise&lt;void&gt;;
3675e41f4b71Sopenharmony_ci
3676e41f4b71Sopenharmony_ci从相册中移除图片或者视频,需要先预置相册和文件资源。该方法使用Promise来返回结果。
3677e41f4b71Sopenharmony_ci
3678e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
3679e41f4b71Sopenharmony_ci
3680e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
3681e41f4b71Sopenharmony_ci
3682e41f4b71Sopenharmony_ci**参数:**
3683e41f4b71Sopenharmony_ci
3684e41f4b71Sopenharmony_ci| 参数名   | 类型                      | 必填 | 说明       |
3685e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ---------- |
3686e41f4b71Sopenharmony_ci| assets | Array&lt;[FileAsset](#fileasset)&gt; | 是   | 相册中待移除的图片或视频数组。 |
3687e41f4b71Sopenharmony_ci
3688e41f4b71Sopenharmony_ci**返回值:**
3689e41f4b71Sopenharmony_ci
3690e41f4b71Sopenharmony_ci| 类型                                    | 说明              |
3691e41f4b71Sopenharmony_ci| --------------------------------------- | ----------------- |
3692e41f4b71Sopenharmony_ci|Promise&lt;void&gt; | Promise对象,返回void。 |
3693e41f4b71Sopenharmony_ci
3694e41f4b71Sopenharmony_ci**错误码:**
3695e41f4b71Sopenharmony_ci
3696e41f4b71Sopenharmony_ci接口抛出错误码的详细介绍请参见[文件管理错误码](errorcode-filemanagement.md)。
3697e41f4b71Sopenharmony_ci
3698e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
3699e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- |
3700e41f4b71Sopenharmony_ci| 13900020   | if PhotoAssets is invalid.         |
3701e41f4b71Sopenharmony_ci
3702e41f4b71Sopenharmony_ci**示例:**
3703e41f4b71Sopenharmony_ci
3704e41f4b71Sopenharmony_ci```ts
3705e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
3706e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
3707e41f4b71Sopenharmony_ci
3708e41f4b71Sopenharmony_ciasync function example() {
3709e41f4b71Sopenharmony_ci  try {
3710e41f4b71Sopenharmony_ci    console.info('removePhotoAssetsDemoPromise');
3711e41f4b71Sopenharmony_ci    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
3712e41f4b71Sopenharmony_ci    let fetchOption: userFileManager.FetchOptions = {
3713e41f4b71Sopenharmony_ci      fetchColumns: [],
3714e41f4b71Sopenharmony_ci      predicates: predicates
3715e41f4b71Sopenharmony_ci    };
3716e41f4b71Sopenharmony_ci    let albumFetchResult: userFileManager.FetchResult<userFileManager.Album> = await mgr.getAlbums(userFileManager.AlbumType.USER, userFileManager.AlbumSubType.USER_GENERIC);
3717e41f4b71Sopenharmony_ci    let album: userFileManager.Album = await albumFetchResult.getFirstObject();
3718e41f4b71Sopenharmony_ci    let fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await album.getPhotoAssets(fetchOption);
3719e41f4b71Sopenharmony_ci    let asset: userFileManager.FileAsset = await fetchResult.getFirstObject();
3720e41f4b71Sopenharmony_ci    album.removePhotoAssets([asset]).then(() => {
3721e41f4b71Sopenharmony_ci      console.info('album removePhotoAssets successfully');
3722e41f4b71Sopenharmony_ci    }).catch((err: BusinessError) => {
3723e41f4b71Sopenharmony_ci      console.error('album removePhotoAssets failed with error: ' + err);
3724e41f4b71Sopenharmony_ci    });
3725e41f4b71Sopenharmony_ci  } catch (err) {
3726e41f4b71Sopenharmony_ci    console.error('removePhotoAssetsDemoPromise failed with error: ' + err);
3727e41f4b71Sopenharmony_ci  }
3728e41f4b71Sopenharmony_ci}
3729e41f4b71Sopenharmony_ci```
3730e41f4b71Sopenharmony_ci
3731e41f4b71Sopenharmony_ci### recoverPhotoAssets<sup>10+</sup>
3732e41f4b71Sopenharmony_ci
3733e41f4b71Sopenharmony_cirecoverPhotoAssets(assets: Array&lt;FileAsset&gt;, callback: AsyncCallback&lt;void&gt;): void;
3734e41f4b71Sopenharmony_ci
3735e41f4b71Sopenharmony_ci从回收站中恢复图片或者视频,需要先在回收站中预置文件资源。该方法使用callback形式来返回结果。
3736e41f4b71Sopenharmony_ci
3737e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
3738e41f4b71Sopenharmony_ci
3739e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
3740e41f4b71Sopenharmony_ci
3741e41f4b71Sopenharmony_ci**参数:**
3742e41f4b71Sopenharmony_ci
3743e41f4b71Sopenharmony_ci| 参数名   | 类型                      | 必填 | 说明       |
3744e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ---------- |
3745e41f4b71Sopenharmony_ci| assets | Array&lt;[FileAsset](#fileasset)&gt; | 是   | 回收站中待恢复图片或者视频数组。 |
3746e41f4b71Sopenharmony_ci| callback | AsyncCallback&lt;void&gt; | 是   | callback返回void。 |
3747e41f4b71Sopenharmony_ci
3748e41f4b71Sopenharmony_ci**错误码:**
3749e41f4b71Sopenharmony_ci
3750e41f4b71Sopenharmony_ci接口抛出错误码的详细介绍请参见[文件管理错误码](errorcode-filemanagement.md)。
3751e41f4b71Sopenharmony_ci
3752e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
3753e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- |
3754e41f4b71Sopenharmony_ci| 13900020   | if PhotoAssets is invalid.         |
3755e41f4b71Sopenharmony_ci
3756e41f4b71Sopenharmony_ci**示例:**
3757e41f4b71Sopenharmony_ci
3758e41f4b71Sopenharmony_ci```ts
3759e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
3760e41f4b71Sopenharmony_ci
3761e41f4b71Sopenharmony_ciasync function example() {
3762e41f4b71Sopenharmony_ci  try {
3763e41f4b71Sopenharmony_ci    console.info('recoverPhotoAssetsDemoCallback');
3764e41f4b71Sopenharmony_ci    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
3765e41f4b71Sopenharmony_ci    let fetchOption: userFileManager.FetchOptions = {
3766e41f4b71Sopenharmony_ci      fetchColumns: [],
3767e41f4b71Sopenharmony_ci      predicates: predicates
3768e41f4b71Sopenharmony_ci    };
3769e41f4b71Sopenharmony_ci    let albumFetchResult: userFileManager.FetchResult<userFileManager.Album> = await mgr.getAlbums(userFileManager.AlbumType.SYSTEM, userFileManager.AlbumSubType.TRASH);
3770e41f4b71Sopenharmony_ci    let album: userFileManager.Album = await albumFetchResult.getFirstObject();
3771e41f4b71Sopenharmony_ci    let fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await album.getPhotoAssets(fetchOption);
3772e41f4b71Sopenharmony_ci    let asset: userFileManager.FileAsset = await fetchResult.getFirstObject();
3773e41f4b71Sopenharmony_ci    album.recoverPhotoAssets([asset], (err) => {
3774e41f4b71Sopenharmony_ci      if (err === undefined) {
3775e41f4b71Sopenharmony_ci        console.info('album recoverPhotoAssets successfully');
3776e41f4b71Sopenharmony_ci      } else {
3777e41f4b71Sopenharmony_ci        console.error('album recoverPhotoAssets failed with error: ' + err);
3778e41f4b71Sopenharmony_ci      }
3779e41f4b71Sopenharmony_ci    });
3780e41f4b71Sopenharmony_ci  } catch (err) {
3781e41f4b71Sopenharmony_ci    console.error('recoverPhotoAssetsDemoCallback failed with error: ' + err);
3782e41f4b71Sopenharmony_ci  }
3783e41f4b71Sopenharmony_ci}
3784e41f4b71Sopenharmony_ci```
3785e41f4b71Sopenharmony_ci
3786e41f4b71Sopenharmony_ci### recoverPhotoAssets<sup>10+</sup>
3787e41f4b71Sopenharmony_ci
3788e41f4b71Sopenharmony_cirecoverPhotoAssets(assets: Array&lt;FileAsset&gt;): Promise&lt;void&gt;;
3789e41f4b71Sopenharmony_ci
3790e41f4b71Sopenharmony_ci从回收站中恢复图片或者视频,需要先在回收站中预置文件资源。该方法使用Promise来返回结果。
3791e41f4b71Sopenharmony_ci
3792e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
3793e41f4b71Sopenharmony_ci
3794e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
3795e41f4b71Sopenharmony_ci
3796e41f4b71Sopenharmony_ci**参数:**
3797e41f4b71Sopenharmony_ci
3798e41f4b71Sopenharmony_ci| 参数名   | 类型                      | 必填 | 说明       |
3799e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ---------- |
3800e41f4b71Sopenharmony_ci| assets | Array&lt;[FileAsset](#fileasset)&gt; | 是   | 回收站中待恢复图片或者视频数组。 |
3801e41f4b71Sopenharmony_ci
3802e41f4b71Sopenharmony_ci**返回值:**
3803e41f4b71Sopenharmony_ci
3804e41f4b71Sopenharmony_ci| 类型                                    | 说明              |
3805e41f4b71Sopenharmony_ci| --------------------------------------- | ----------------- |
3806e41f4b71Sopenharmony_ci|Promise&lt;void&gt; | Promise对象,返回void。 |
3807e41f4b71Sopenharmony_ci
3808e41f4b71Sopenharmony_ci**错误码:**
3809e41f4b71Sopenharmony_ci
3810e41f4b71Sopenharmony_ci接口抛出错误码的详细介绍请参见[文件管理错误码](errorcode-filemanagement.md)。
3811e41f4b71Sopenharmony_ci
3812e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
3813e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- |
3814e41f4b71Sopenharmony_ci| 13900020   | if PhotoAssets is invalid.         |
3815e41f4b71Sopenharmony_ci
3816e41f4b71Sopenharmony_ci**示例:**
3817e41f4b71Sopenharmony_ci
3818e41f4b71Sopenharmony_ci```ts
3819e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
3820e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
3821e41f4b71Sopenharmony_ci
3822e41f4b71Sopenharmony_ciasync function example() {
3823e41f4b71Sopenharmony_ci  try {
3824e41f4b71Sopenharmony_ci    console.info('recoverPhotoAssetsDemoPromise');
3825e41f4b71Sopenharmony_ci    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
3826e41f4b71Sopenharmony_ci    let fetchOption: userFileManager.FetchOptions = {
3827e41f4b71Sopenharmony_ci      fetchColumns: [],
3828e41f4b71Sopenharmony_ci      predicates: predicates
3829e41f4b71Sopenharmony_ci    };
3830e41f4b71Sopenharmony_ci    let albumFetchResult: userFileManager.FetchResult<userFileManager.Album> = await mgr.getAlbums(userFileManager.AlbumType.SYSTEM, userFileManager.AlbumSubType.TRASH);
3831e41f4b71Sopenharmony_ci    let album: userFileManager.Album = await albumFetchResult.getFirstObject();
3832e41f4b71Sopenharmony_ci    let fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await album.getPhotoAssets(fetchOption);
3833e41f4b71Sopenharmony_ci    let asset: userFileManager.FileAsset = await fetchResult.getFirstObject();
3834e41f4b71Sopenharmony_ci    album.recoverPhotoAssets([asset]).then(() => {
3835e41f4b71Sopenharmony_ci      console.info('album recoverPhotoAssets successfully');
3836e41f4b71Sopenharmony_ci    }).catch((err: BusinessError) => {
3837e41f4b71Sopenharmony_ci      console.error('album recoverPhotoAssets failed with error: ' + err);
3838e41f4b71Sopenharmony_ci    });
3839e41f4b71Sopenharmony_ci  } catch (err) {
3840e41f4b71Sopenharmony_ci    console.error('recoverPhotoAssetsDemoPromise failed with error: ' + err);
3841e41f4b71Sopenharmony_ci  }
3842e41f4b71Sopenharmony_ci}
3843e41f4b71Sopenharmony_ci```
3844e41f4b71Sopenharmony_ci
3845e41f4b71Sopenharmony_ci### deletePhotoAssets<sup>10+</sup>
3846e41f4b71Sopenharmony_ci
3847e41f4b71Sopenharmony_cideletePhotoAssets(assets: Array&lt;FileAsset&gt;, callback: AsyncCallback&lt;void&gt;): void;
3848e41f4b71Sopenharmony_ci
3849e41f4b71Sopenharmony_ci从回收站中彻底删除图片或者视频,需要先在回收站中预置文件资源。该方法使用callback形式来返回结果。
3850e41f4b71Sopenharmony_ci
3851e41f4b71Sopenharmony_ci**注意**:此操作不可逆,执行此操作后文件资源将彻底删除,请谨慎操作。
3852e41f4b71Sopenharmony_ci
3853e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
3854e41f4b71Sopenharmony_ci
3855e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
3856e41f4b71Sopenharmony_ci
3857e41f4b71Sopenharmony_ci**参数:**
3858e41f4b71Sopenharmony_ci
3859e41f4b71Sopenharmony_ci| 参数名   | 类型                      | 必填 | 说明       |
3860e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ---------- |
3861e41f4b71Sopenharmony_ci| assets | Array&lt;[FileAsset](#fileasset)&gt; | 是   | 回收站中待彻底删除图片或者视频数组。 |
3862e41f4b71Sopenharmony_ci| callback | AsyncCallback&lt;void&gt; | 是   | callback返回void。 |
3863e41f4b71Sopenharmony_ci
3864e41f4b71Sopenharmony_ci**错误码:**
3865e41f4b71Sopenharmony_ci
3866e41f4b71Sopenharmony_ci接口抛出错误码的详细介绍请参见[文件管理错误码](errorcode-filemanagement.md)。
3867e41f4b71Sopenharmony_ci
3868e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
3869e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- |
3870e41f4b71Sopenharmony_ci| 13900020   | if PhotoAssets is invalid.         |
3871e41f4b71Sopenharmony_ci
3872e41f4b71Sopenharmony_ci**示例:**
3873e41f4b71Sopenharmony_ci
3874e41f4b71Sopenharmony_ci```ts
3875e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
3876e41f4b71Sopenharmony_ci
3877e41f4b71Sopenharmony_ciasync function example() {
3878e41f4b71Sopenharmony_ci  try {
3879e41f4b71Sopenharmony_ci    console.info('deletePhotoAssetsDemoCallback');
3880e41f4b71Sopenharmony_ci    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
3881e41f4b71Sopenharmony_ci    let fetchOption: userFileManager.FetchOptions = {
3882e41f4b71Sopenharmony_ci      fetchColumns: [],
3883e41f4b71Sopenharmony_ci      predicates: predicates
3884e41f4b71Sopenharmony_ci    };
3885e41f4b71Sopenharmony_ci    let albumFetchResult: userFileManager.FetchResult<userFileManager.Album> = await mgr.getAlbums(userFileManager.AlbumType.SYSTEM, userFileManager.AlbumSubType.TRASH);
3886e41f4b71Sopenharmony_ci    let album: userFileManager.Album = await albumFetchResult.getFirstObject();
3887e41f4b71Sopenharmony_ci    let fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await album.getPhotoAssets(fetchOption);
3888e41f4b71Sopenharmony_ci    let asset: userFileManager.FileAsset = await fetchResult.getFirstObject();
3889e41f4b71Sopenharmony_ci    album.deletePhotoAssets([asset], (err) => {
3890e41f4b71Sopenharmony_ci      if (err === undefined) {
3891e41f4b71Sopenharmony_ci        console.info('album deletePhotoAssets successfully');
3892e41f4b71Sopenharmony_ci      } else {
3893e41f4b71Sopenharmony_ci        console.error('album deletePhotoAssets failed with error: ' + err);
3894e41f4b71Sopenharmony_ci      }
3895e41f4b71Sopenharmony_ci    });
3896e41f4b71Sopenharmony_ci  } catch (err) {
3897e41f4b71Sopenharmony_ci    console.error('deletePhotoAssetsDemoCallback failed with error: ' + err);
3898e41f4b71Sopenharmony_ci  }
3899e41f4b71Sopenharmony_ci}
3900e41f4b71Sopenharmony_ci```
3901e41f4b71Sopenharmony_ci
3902e41f4b71Sopenharmony_ci### deletePhotoAssets<sup>10+</sup>
3903e41f4b71Sopenharmony_ci
3904e41f4b71Sopenharmony_cideletePhotoAssets(assets: Array&lt;FileAsset&gt;): Promise&lt;void&gt;;
3905e41f4b71Sopenharmony_ci
3906e41f4b71Sopenharmony_ci从回收站中彻底删除图片或者视频,需要先在回收站中预置文件资源。该方法使用Promise来返回结果。
3907e41f4b71Sopenharmony_ci
3908e41f4b71Sopenharmony_ci**注意**:此操作不可逆,执行此操作后文件资源将彻底删除,请谨慎操作。
3909e41f4b71Sopenharmony_ci
3910e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
3911e41f4b71Sopenharmony_ci
3912e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
3913e41f4b71Sopenharmony_ci
3914e41f4b71Sopenharmony_ci**参数:**
3915e41f4b71Sopenharmony_ci
3916e41f4b71Sopenharmony_ci| 参数名   | 类型                      | 必填 | 说明       |
3917e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ---------- |
3918e41f4b71Sopenharmony_ci| assets | Array&lt;[FileAsset](#fileasset)&gt; | 是   | 回收站中待彻底删除图片或者视频数组。 |
3919e41f4b71Sopenharmony_ci
3920e41f4b71Sopenharmony_ci**返回值:**
3921e41f4b71Sopenharmony_ci
3922e41f4b71Sopenharmony_ci| 类型                                    | 说明              |
3923e41f4b71Sopenharmony_ci| --------------------------------------- | ----------------- |
3924e41f4b71Sopenharmony_ci|Promise&lt;void&gt; | Promise对象,返回void。 |
3925e41f4b71Sopenharmony_ci
3926e41f4b71Sopenharmony_ci**错误码:**
3927e41f4b71Sopenharmony_ci
3928e41f4b71Sopenharmony_ci接口抛出错误码的详细介绍请参见[文件管理错误码](errorcode-filemanagement.md)。
3929e41f4b71Sopenharmony_ci
3930e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
3931e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- |
3932e41f4b71Sopenharmony_ci| 13900020   | if PhotoAssets is invalid.         |
3933e41f4b71Sopenharmony_ci
3934e41f4b71Sopenharmony_ci**示例:**
3935e41f4b71Sopenharmony_ci
3936e41f4b71Sopenharmony_ci```ts
3937e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
3938e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
3939e41f4b71Sopenharmony_ci
3940e41f4b71Sopenharmony_ciasync function example() {
3941e41f4b71Sopenharmony_ci  try {
3942e41f4b71Sopenharmony_ci    console.info('deletePhotoAssetsDemoPromise');
3943e41f4b71Sopenharmony_ci    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
3944e41f4b71Sopenharmony_ci    let fetchOption: userFileManager.FetchOptions = {
3945e41f4b71Sopenharmony_ci      fetchColumns: [],
3946e41f4b71Sopenharmony_ci      predicates: predicates
3947e41f4b71Sopenharmony_ci    };
3948e41f4b71Sopenharmony_ci    let albumFetchResult: userFileManager.FetchResult<userFileManager.Album> = await mgr.getAlbums(userFileManager.AlbumType.SYSTEM, userFileManager.AlbumSubType.TRASH);
3949e41f4b71Sopenharmony_ci    let album: userFileManager.Album = await albumFetchResult.getFirstObject();
3950e41f4b71Sopenharmony_ci    let fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await album.getPhotoAssets(fetchOption);
3951e41f4b71Sopenharmony_ci    let asset: userFileManager.FileAsset = await fetchResult.getFirstObject();
3952e41f4b71Sopenharmony_ci    album.deletePhotoAssets([asset]).then(() => {
3953e41f4b71Sopenharmony_ci      console.info('album deletePhotoAssets successfully');
3954e41f4b71Sopenharmony_ci    }).catch((err: BusinessError) => {
3955e41f4b71Sopenharmony_ci      console.error('album deletePhotoAssets failed with error: ' + err);
3956e41f4b71Sopenharmony_ci    });
3957e41f4b71Sopenharmony_ci  } catch (err) {
3958e41f4b71Sopenharmony_ci    console.error('deletePhotoAssetsDemoPromise failed with error: ' + err);
3959e41f4b71Sopenharmony_ci  }
3960e41f4b71Sopenharmony_ci}
3961e41f4b71Sopenharmony_ci```
3962e41f4b71Sopenharmony_ci
3963e41f4b71Sopenharmony_ci## PrivateAlbum
3964e41f4b71Sopenharmony_ci
3965e41f4b71Sopenharmony_ci系统相册。
3966e41f4b71Sopenharmony_ci
3967e41f4b71Sopenharmony_ci此接口即将废弃,请使用[Album](#album)接口替代。
3968e41f4b71Sopenharmony_ci
3969e41f4b71Sopenharmony_ci### 属性
3970e41f4b71Sopenharmony_ci
3971e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
3972e41f4b71Sopenharmony_ci
3973e41f4b71Sopenharmony_ci| 名称           | 类型    | 只读   | 可写   | 说明      |
3974e41f4b71Sopenharmony_ci| ------------ | ------ | ---- | ---- | ------- |
3975e41f4b71Sopenharmony_ci| albumName | string | 是    | 是    | 相册名称。    |
3976e41f4b71Sopenharmony_ci| albumUri | string | 是    | 否    | 相册Uri。   |
3977e41f4b71Sopenharmony_ci| dateModified | number | 是    | 否    | 修改日期。    |
3978e41f4b71Sopenharmony_ci| count | number | 是    | 否    | 相册中文件数量。 |
3979e41f4b71Sopenharmony_ci| coverUri | string | 是    | 否    | 封面文件Uri。 |
3980e41f4b71Sopenharmony_ci
3981e41f4b71Sopenharmony_ci### getPhotoAssets
3982e41f4b71Sopenharmony_ci
3983e41f4b71Sopenharmony_cigetPhotoAssets(options: FetchOptions, callback: AsyncCallback&lt;FetchResult&lt;FileAsset&gt;&gt;): void;
3984e41f4b71Sopenharmony_ci
3985e41f4b71Sopenharmony_ci获取系统相册中的文件。该方法使用callback形式来返回文件。
3986e41f4b71Sopenharmony_ci
3987e41f4b71Sopenharmony_ci此接口即将废弃,请使用[Album.getPhotoAssets](#getphotoassets-2)接口替代。
3988e41f4b71Sopenharmony_ci
3989e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.READ_IMAGEVIDEO
3990e41f4b71Sopenharmony_ci
3991e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
3992e41f4b71Sopenharmony_ci
3993e41f4b71Sopenharmony_ci**参数:**
3994e41f4b71Sopenharmony_ci
3995e41f4b71Sopenharmony_ci| 参数名   | 类型                      | 必填 | 说明       |
3996e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ---------- |
3997e41f4b71Sopenharmony_ci| options | [FetchOptions](#fetchoptions) | 是   | 检索选项。 |
3998e41f4b71Sopenharmony_ci| callback | AsyncCallback&lt;[FetchResult](#fetchresult)&lt;[FileAsset](#fileasset)&gt;&gt; | 是   | callback返回图片和视频数据结果集。 |
3999e41f4b71Sopenharmony_ci
4000e41f4b71Sopenharmony_ci**错误码:**
4001e41f4b71Sopenharmony_ci
4002e41f4b71Sopenharmony_ci接口抛出错误码的详细介绍请参见[文件管理错误码](errorcode-filemanagement.md)。
4003e41f4b71Sopenharmony_ci
4004e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
4005e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- |
4006e41f4b71Sopenharmony_ci| 13900020   | if type options is not FetchOptions.         |
4007e41f4b71Sopenharmony_ci
4008e41f4b71Sopenharmony_ci**示例:**
4009e41f4b71Sopenharmony_ci
4010e41f4b71Sopenharmony_ci```ts
4011e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
4012e41f4b71Sopenharmony_ci
4013e41f4b71Sopenharmony_ciasync function example() {
4014e41f4b71Sopenharmony_ci  console.info('privateAlbumGetFileAssetsDemoCallback');
4015e41f4b71Sopenharmony_ci  let albumList: userFileManager.FetchResult<userFileManager.PrivateAlbum> = await mgr.getPrivateAlbum(userFileManager.PrivateAlbumType.TYPE_TRASH);
4016e41f4b71Sopenharmony_ci  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
4017e41f4b71Sopenharmony_ci  let fetchOption: userFileManager.FetchOptions = {
4018e41f4b71Sopenharmony_ci    fetchColumns: [],
4019e41f4b71Sopenharmony_ci    predicates: predicates
4020e41f4b71Sopenharmony_ci  };
4021e41f4b71Sopenharmony_ci  const trashAlbum: userFileManager.PrivateAlbum = await albumList.getFirstObject();
4022e41f4b71Sopenharmony_ci  trashAlbum.getPhotoAssets(fetchOption, (err, fetchResult) => {
4023e41f4b71Sopenharmony_ci    if (fetchResult != undefined) {
4024e41f4b71Sopenharmony_ci      let count = fetchResult.getCount();
4025e41f4b71Sopenharmony_ci      console.info('fetchResult.count = ', count);
4026e41f4b71Sopenharmony_ci    } else {
4027e41f4b71Sopenharmony_ci      console.error('getFileAssets failed, message = ', err);
4028e41f4b71Sopenharmony_ci    }
4029e41f4b71Sopenharmony_ci  });
4030e41f4b71Sopenharmony_ci}
4031e41f4b71Sopenharmony_ci
4032e41f4b71Sopenharmony_ci```
4033e41f4b71Sopenharmony_ci
4034e41f4b71Sopenharmony_ci### getPhotoAssets
4035e41f4b71Sopenharmony_ci
4036e41f4b71Sopenharmony_cigetPhotoAssets(options: FetchOptions): Promise&lt;FetchResult&lt;FileAsset&gt;&gt;;
4037e41f4b71Sopenharmony_ci
4038e41f4b71Sopenharmony_ci获取系统相册中的文件。该方法使用Promise来返回文件。
4039e41f4b71Sopenharmony_ci
4040e41f4b71Sopenharmony_ci此接口即将废弃,请使用[Album.getPhotoAssets](#getphotoassets-3)接口替代。
4041e41f4b71Sopenharmony_ci
4042e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.READ_IMAGEVIDEO
4043e41f4b71Sopenharmony_ci
4044e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
4045e41f4b71Sopenharmony_ci
4046e41f4b71Sopenharmony_ci**参数:**
4047e41f4b71Sopenharmony_ci
4048e41f4b71Sopenharmony_ci| 参数名   | 类型                      | 必填 | 说明       |
4049e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ---------- |
4050e41f4b71Sopenharmony_ci| options | [FetchOptions](#fetchoptions) | 是   | 检索选项。 |
4051e41f4b71Sopenharmony_ci
4052e41f4b71Sopenharmony_ci**返回值:**
4053e41f4b71Sopenharmony_ci
4054e41f4b71Sopenharmony_ci| 类型                                    | 说明              |
4055e41f4b71Sopenharmony_ci| --------------------------------------- | ----------------- |
4056e41f4b71Sopenharmony_ci| Promise:[FetchResult](#fetchresult)&lt;[FileAsset](#fileasset)&gt;| Promise对象,返回图片和视频数据结果集。 |
4057e41f4b71Sopenharmony_ci
4058e41f4b71Sopenharmony_ci**错误码:**
4059e41f4b71Sopenharmony_ci
4060e41f4b71Sopenharmony_ci接口抛出错误码的详细介绍请参见[文件管理错误码](errorcode-filemanagement.md)。
4061e41f4b71Sopenharmony_ci
4062e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
4063e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- |
4064e41f4b71Sopenharmony_ci| 13900020   | if type options is not FetchOptions.         |
4065e41f4b71Sopenharmony_ci
4066e41f4b71Sopenharmony_ci**示例:**
4067e41f4b71Sopenharmony_ci
4068e41f4b71Sopenharmony_ci```ts
4069e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
4070e41f4b71Sopenharmony_ci
4071e41f4b71Sopenharmony_ciasync function example() {
4072e41f4b71Sopenharmony_ci  console.info('privateAlbumGetFileAssetsDemoPromise');
4073e41f4b71Sopenharmony_ci  let albumList: userFileManager.FetchResult<userFileManager.PrivateAlbum> = await mgr.getPrivateAlbum(userFileManager.PrivateAlbumType.TYPE_TRASH);
4074e41f4b71Sopenharmony_ci  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
4075e41f4b71Sopenharmony_ci  let fetchOption: userFileManager.FetchOptions = {
4076e41f4b71Sopenharmony_ci    fetchColumns: [],
4077e41f4b71Sopenharmony_ci    predicates: predicates
4078e41f4b71Sopenharmony_ci  };
4079e41f4b71Sopenharmony_ci  const trashAlbum: userFileManager.PrivateAlbum = await albumList.getFirstObject();
4080e41f4b71Sopenharmony_ci  let fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await trashAlbum.getPhotoAssets(fetchOption);
4081e41f4b71Sopenharmony_ci  let count = fetchResult.getCount();
4082e41f4b71Sopenharmony_ci  console.info('fetchResult.count = ', count);
4083e41f4b71Sopenharmony_ci}
4084e41f4b71Sopenharmony_ci```
4085e41f4b71Sopenharmony_ci
4086e41f4b71Sopenharmony_ci### delete
4087e41f4b71Sopenharmony_ci
4088e41f4b71Sopenharmony_cidelete(uri: string, callback: AsyncCallback&lt;void&gt;): void;
4089e41f4b71Sopenharmony_ci
4090e41f4b71Sopenharmony_ci删除系统相册中的文件,仅支持删除回收站相册中文件。
4091e41f4b71Sopenharmony_ci
4092e41f4b71Sopenharmony_ci此接口即将废弃,请使用[Album.deletePhotoAssets](#deletephotoassets10)接口替代。
4093e41f4b71Sopenharmony_ci
4094e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.READ_IMAGEVIDEOohos.permission.WRITE_IMAGEVIDEOohos.permission.READ_AUDIOohos.permission.WRITE_AUDIO
4095e41f4b71Sopenharmony_ci
4096e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
4097e41f4b71Sopenharmony_ci
4098e41f4b71Sopenharmony_ci**参数:**
4099e41f4b71Sopenharmony_ci
4100e41f4b71Sopenharmony_ci| 参数名   | 类型                      | 必填 | 说明       |
4101e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ---------- |
4102e41f4b71Sopenharmony_ci| uri | string | 是   | 系统相册中文件的uri。 |
4103e41f4b71Sopenharmony_ci| callback | AsyncCallback&lt;void&gt; | 是   | callback返回void。 |
4104e41f4b71Sopenharmony_ci
4105e41f4b71Sopenharmony_ci**示例:**
4106e41f4b71Sopenharmony_ci
4107e41f4b71Sopenharmony_ci```ts
4108e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
4109e41f4b71Sopenharmony_ci
4110e41f4b71Sopenharmony_ciasync function example() {
4111e41f4b71Sopenharmony_ci  console.info('privateAlbumDeleteCallback');
4112e41f4b71Sopenharmony_ci  let albumList: userFileManager.FetchResult<userFileManager.PrivateAlbum> = await mgr.getPrivateAlbum(userFileManager.PrivateAlbumType.TYPE_TRASH);
4113e41f4b71Sopenharmony_ci  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
4114e41f4b71Sopenharmony_ci  let fetchOption: userFileManager.FetchOptions = {
4115e41f4b71Sopenharmony_ci    fetchColumns: [],
4116e41f4b71Sopenharmony_ci    predicates: predicates
4117e41f4b71Sopenharmony_ci  };
4118e41f4b71Sopenharmony_ci  let trashAlbum: userFileManager.PrivateAlbum = await albumList.getFirstObject();
4119e41f4b71Sopenharmony_ci  let fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await trashAlbum.getPhotoAssets(fetchOption);
4120e41f4b71Sopenharmony_ci  let fileAsset: userFileManager.FileAsset = await fetchResult.getFirstObject();
4121e41f4b71Sopenharmony_ci  let deleteFileUri = fileAsset.uri;
4122e41f4b71Sopenharmony_ci  trashAlbum.delete(deleteFileUri, (err) => {
4123e41f4b71Sopenharmony_ci    if (err != undefined) {
4124e41f4b71Sopenharmony_ci      console.error('trashAlbum.delete failed, message = ', err);
4125e41f4b71Sopenharmony_ci    } else {
4126e41f4b71Sopenharmony_ci      console.info('trashAlbum.delete successfully');
4127e41f4b71Sopenharmony_ci    }
4128e41f4b71Sopenharmony_ci  });
4129e41f4b71Sopenharmony_ci}
4130e41f4b71Sopenharmony_ci```
4131e41f4b71Sopenharmony_ci
4132e41f4b71Sopenharmony_ci### delete
4133e41f4b71Sopenharmony_ci
4134e41f4b71Sopenharmony_cidelete(uri: string): Promise&lt;void&gt;;
4135e41f4b71Sopenharmony_ci
4136e41f4b71Sopenharmony_ci删除系统相册中的文件,仅支持删除回收站相册中文件。
4137e41f4b71Sopenharmony_ci
4138e41f4b71Sopenharmony_ci此接口即将废弃,请使用[Album.deletePhotoAssets](#deletephotoassets10)接口替代。
4139e41f4b71Sopenharmony_ci
4140e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.READ_IMAGEVIDEOohos.permission.WRITE_IMAGEVIDEOohos.permission.READ_AUDIOohos.permission.WRITE_AUDIO
4141e41f4b71Sopenharmony_ci
4142e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
4143e41f4b71Sopenharmony_ci
4144e41f4b71Sopenharmony_ci**参数:**
4145e41f4b71Sopenharmony_ci
4146e41f4b71Sopenharmony_ci| 参数名   | 类型                      | 必填 | 说明       |
4147e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ---------- |
4148e41f4b71Sopenharmony_ci| uri | string | 是   | 系统相册中文件的uri。 |
4149e41f4b71Sopenharmony_ci
4150e41f4b71Sopenharmony_ci**返回值:**
4151e41f4b71Sopenharmony_ci
4152e41f4b71Sopenharmony_ci| 类型                                    | 说明              |
4153e41f4b71Sopenharmony_ci| --------------------------------------- | ----------------- |
4154e41f4b71Sopenharmony_ci| Promise&lt;void&gt;| Promise对象,返回void。 |
4155e41f4b71Sopenharmony_ci
4156e41f4b71Sopenharmony_ci**示例:**
4157e41f4b71Sopenharmony_ci
4158e41f4b71Sopenharmony_ci```ts
4159e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
4160e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
4161e41f4b71Sopenharmony_ci
4162e41f4b71Sopenharmony_ciasync function example() {
4163e41f4b71Sopenharmony_ci  console.info('privateAlbumDeleteDemoPromise');
4164e41f4b71Sopenharmony_ci  let albumList: userFileManager.FetchResult<userFileManager.PrivateAlbum> = await mgr.getPrivateAlbum(userFileManager.PrivateAlbumType.TYPE_TRASH);
4165e41f4b71Sopenharmony_ci  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
4166e41f4b71Sopenharmony_ci  let fetchOption: userFileManager.FetchOptions = {
4167e41f4b71Sopenharmony_ci    fetchColumns: [],
4168e41f4b71Sopenharmony_ci    predicates: predicates
4169e41f4b71Sopenharmony_ci  };
4170e41f4b71Sopenharmony_ci  let trashAlbum: userFileManager.PrivateAlbum = await albumList.getFirstObject();
4171e41f4b71Sopenharmony_ci  let fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await trashAlbum.getPhotoAssets(fetchOption);
4172e41f4b71Sopenharmony_ci  let fileAsset: userFileManager.FileAsset = await fetchResult.getFirstObject();
4173e41f4b71Sopenharmony_ci  let deleteFileUri = fileAsset.uri;
4174e41f4b71Sopenharmony_ci  trashAlbum.delete(deleteFileUri).then(() => {
4175e41f4b71Sopenharmony_ci    console.info('trashAlbum.delete successfully');
4176e41f4b71Sopenharmony_ci  }).catch((err: BusinessError) => {
4177e41f4b71Sopenharmony_ci    console.error('trashAlbum.delete failed, message = ', err);
4178e41f4b71Sopenharmony_ci  });
4179e41f4b71Sopenharmony_ci}
4180e41f4b71Sopenharmony_ci```
4181e41f4b71Sopenharmony_ci
4182e41f4b71Sopenharmony_ci### recover
4183e41f4b71Sopenharmony_ci
4184e41f4b71Sopenharmony_cirecover(uri: string, callback: AsyncCallback&lt;void&gt;): void;
4185e41f4b71Sopenharmony_ci
4186e41f4b71Sopenharmony_ci恢复系统相册中的文件,仅支持恢复回收站相册中文件。
4187e41f4b71Sopenharmony_ci
4188e41f4b71Sopenharmony_ci此接口即将废弃,请使用[Album.recoverPhotoAssets](#recoverphotoassets10)接口替代。
4189e41f4b71Sopenharmony_ci
4190e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.READ_IMAGEVIDEOohos.permission.WRITE_IMAGEVIDEOohos.permission.READ_AUDIOohos.permission.WRITE_AUDIO
4191e41f4b71Sopenharmony_ci
4192e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
4193e41f4b71Sopenharmony_ci
4194e41f4b71Sopenharmony_ci**参数:**
4195e41f4b71Sopenharmony_ci
4196e41f4b71Sopenharmony_ci| 参数名   | 类型                      | 必填 | 说明       |
4197e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ---------- |
4198e41f4b71Sopenharmony_ci| uri | string | 是   | 系统相册中文件的uri。 |
4199e41f4b71Sopenharmony_ci| callback | AsyncCallback&lt;void&gt; | 是   | callback返回void。 |
4200e41f4b71Sopenharmony_ci
4201e41f4b71Sopenharmony_ci**示例:**
4202e41f4b71Sopenharmony_ci
4203e41f4b71Sopenharmony_ci```ts
4204e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
4205e41f4b71Sopenharmony_ci
4206e41f4b71Sopenharmony_ciasync function example() {
4207e41f4b71Sopenharmony_ci  console.info('privateAlbumRecoverDemoCallback');
4208e41f4b71Sopenharmony_ci  let albumList: userFileManager.FetchResult<userFileManager.PrivateAlbum> = await mgr.getPrivateAlbum(userFileManager.PrivateAlbumType.TYPE_TRASH);
4209e41f4b71Sopenharmony_ci  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
4210e41f4b71Sopenharmony_ci  let fetchOption: userFileManager.FetchOptions = {
4211e41f4b71Sopenharmony_ci    fetchColumns: [],
4212e41f4b71Sopenharmony_ci    predicates: predicates
4213e41f4b71Sopenharmony_ci  };
4214e41f4b71Sopenharmony_ci  let trashAlbum: userFileManager.PrivateAlbum = await albumList.getFirstObject();
4215e41f4b71Sopenharmony_ci  let fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await trashAlbum.getPhotoAssets(fetchOption);
4216e41f4b71Sopenharmony_ci  let fileAsset: userFileManager.FileAsset = await fetchResult.getFirstObject();
4217e41f4b71Sopenharmony_ci  let recoverFileUri: string = fileAsset.uri;
4218e41f4b71Sopenharmony_ci  trashAlbum.recover(recoverFileUri, (err) => {
4219e41f4b71Sopenharmony_ci    if (err != undefined) {
4220e41f4b71Sopenharmony_ci      console.error('trashAlbum.recover failed, message = ', err);
4221e41f4b71Sopenharmony_ci    } else {
4222e41f4b71Sopenharmony_ci      console.info('trashAlbum.recover successfully');
4223e41f4b71Sopenharmony_ci    }
4224e41f4b71Sopenharmony_ci  });
4225e41f4b71Sopenharmony_ci}
4226e41f4b71Sopenharmony_ci```
4227e41f4b71Sopenharmony_ci
4228e41f4b71Sopenharmony_ci### recover
4229e41f4b71Sopenharmony_ci
4230e41f4b71Sopenharmony_cirecover(uri: string): Promise&lt;void&gt;;
4231e41f4b71Sopenharmony_ci
4232e41f4b71Sopenharmony_ci恢复系统相册中的文件,仅支持恢复回收站相册中文件。
4233e41f4b71Sopenharmony_ci
4234e41f4b71Sopenharmony_ci此接口即将废弃,请使用[Album.recoverPhotoAssets](#recoverphotoassets10)接口替代。
4235e41f4b71Sopenharmony_ci
4236e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.READ_IMAGEVIDEOohos.permission.WRITE_IMAGEVIDEOohos.permission.READ_AUDIOohos.permission.WRITE_AUDIO
4237e41f4b71Sopenharmony_ci
4238e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
4239e41f4b71Sopenharmony_ci
4240e41f4b71Sopenharmony_ci**参数:**
4241e41f4b71Sopenharmony_ci
4242e41f4b71Sopenharmony_ci| 参数名   | 类型                      | 必填 | 说明       |
4243e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ---------- |
4244e41f4b71Sopenharmony_ci| uri | string | 是   | 系统相册中文件的uri。 |
4245e41f4b71Sopenharmony_ci
4246e41f4b71Sopenharmony_ci**返回值:**
4247e41f4b71Sopenharmony_ci
4248e41f4b71Sopenharmony_ci| 类型                                    | 说明              |
4249e41f4b71Sopenharmony_ci| --------------------------------------- | ----------------- |
4250e41f4b71Sopenharmony_ci| Promise&lt;void&gt;| Promise对象,返回void。 |
4251e41f4b71Sopenharmony_ci
4252e41f4b71Sopenharmony_ci**示例:**
4253e41f4b71Sopenharmony_ci
4254e41f4b71Sopenharmony_ci```ts
4255e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
4256e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
4257e41f4b71Sopenharmony_ci
4258e41f4b71Sopenharmony_ciasync function example() {
4259e41f4b71Sopenharmony_ci  console.info('privateAlbumRecoverDemoPromise');
4260e41f4b71Sopenharmony_ci  let albumList: userFileManager.FetchResult<userFileManager.PrivateAlbum> = await mgr.getPrivateAlbum(userFileManager.PrivateAlbumType.TYPE_TRASH);
4261e41f4b71Sopenharmony_ci  let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
4262e41f4b71Sopenharmony_ci  let fetchOption: userFileManager.FetchOptions = {
4263e41f4b71Sopenharmony_ci    fetchColumns: [],
4264e41f4b71Sopenharmony_ci    predicates: predicates
4265e41f4b71Sopenharmony_ci  };
4266e41f4b71Sopenharmony_ci  let trashAlbum: userFileManager.PrivateAlbum = await albumList.getFirstObject();
4267e41f4b71Sopenharmony_ci  let fetchResult: userFileManager.FetchResult<userFileManager.FileAsset> = await trashAlbum.getPhotoAssets(fetchOption);
4268e41f4b71Sopenharmony_ci  let fileAsset: userFileManager.FileAsset = await fetchResult.getFirstObject();
4269e41f4b71Sopenharmony_ci  let recoverFileUri: string = fileAsset.uri;
4270e41f4b71Sopenharmony_ci  trashAlbum.recover(recoverFileUri).then(() => {
4271e41f4b71Sopenharmony_ci    console.info('trashAlbum.recover successfully');
4272e41f4b71Sopenharmony_ci  }).catch((err: BusinessError) => {
4273e41f4b71Sopenharmony_ci    console.error('trashAlbum.recover failed, message = ', err);
4274e41f4b71Sopenharmony_ci  });
4275e41f4b71Sopenharmony_ci}
4276e41f4b71Sopenharmony_ci```
4277e41f4b71Sopenharmony_ci
4278e41f4b71Sopenharmony_ci## MemberType
4279e41f4b71Sopenharmony_ci
4280e41f4b71Sopenharmony_ci成员类型。
4281e41f4b71Sopenharmony_ci
4282e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
4283e41f4b71Sopenharmony_ci
4284e41f4b71Sopenharmony_ci| 名称  |  类型 |  只读  |  可写  |  说明  |
4285e41f4b71Sopenharmony_ci| ----- |  ---- |  ---- |  ---- |  ---- |
4286e41f4b71Sopenharmony_ci| number |  number | 是 | 是 | number类型。 |
4287e41f4b71Sopenharmony_ci| string |  string | 是 | 是 | string类型。|
4288e41f4b71Sopenharmony_ci| boolean |  boolean | 是 | 是 | boolean类型。 |
4289e41f4b71Sopenharmony_ci
4290e41f4b71Sopenharmony_ci## ChangeEvent
4291e41f4b71Sopenharmony_ci
4292e41f4b71Sopenharmony_ci变更监听的媒体文件类型。
4293e41f4b71Sopenharmony_ci
4294e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
4295e41f4b71Sopenharmony_ci
4296e41f4b71Sopenharmony_ci| 名称  |  类型 |  只读  |  可写  |  说明 |
4297e41f4b71Sopenharmony_ci| ----- |  ---- |  ---- |  ---- |  ---- |
4298e41f4b71Sopenharmony_ci| deviceChange |  string | 是 | 是 |  设备。 |
4299e41f4b71Sopenharmony_ci| albumChange |  string | 是 | 是 |  相册。 |
4300e41f4b71Sopenharmony_ci| imageChange |  string | 是 | 是 |  图片。 |
4301e41f4b71Sopenharmony_ci| audioChange |  string | 是 | 是 |  音频。 |
4302e41f4b71Sopenharmony_ci| videoChange |  string | 是 | 是 |  视频。 |
4303e41f4b71Sopenharmony_ci| remoteFileChange |  string | 是 | 是 |  远程文件。 |
4304e41f4b71Sopenharmony_ci
4305e41f4b71Sopenharmony_ci## PeerInfo
4306e41f4b71Sopenharmony_ci
4307e41f4b71Sopenharmony_ci注册设备的信息。
4308e41f4b71Sopenharmony_ci
4309e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.DistributedCore
4310e41f4b71Sopenharmony_ci
4311e41f4b71Sopenharmony_ci| 名称       | 类型                       | 只读 | 可写 | 说明             |
4312e41f4b71Sopenharmony_ci| ---------- | -------------------------- | ---- | ---- | ---------------- |
4313e41f4b71Sopenharmony_ci| deviceName | string                     | 是   | 否   | 注册设备的名称。   |
4314e41f4b71Sopenharmony_ci| networkId  | string                     | 是   | 否   | 注册设备的网络ID。 |
4315e41f4b71Sopenharmony_ci| isOnline   | boolean                    | 是   | 否   | 是否在线。true是在线,false为不在线         |
4316e41f4b71Sopenharmony_ci
4317e41f4b71Sopenharmony_ci## FileType
4318e41f4b71Sopenharmony_ci
4319e41f4b71Sopenharmony_ci枚举,媒体文件类型。
4320e41f4b71Sopenharmony_ci
4321e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
4322e41f4b71Sopenharmony_ci
4323e41f4b71Sopenharmony_ci| 名称  |  值 |  说明 |
4324e41f4b71Sopenharmony_ci| ----- |  ---- |  ---- |
4325e41f4b71Sopenharmony_ci| IMAGE |  1 |  图片。 |
4326e41f4b71Sopenharmony_ci| VIDEO |  2 |  视频。 |
4327e41f4b71Sopenharmony_ci| AUDIO |  3 |  音频。 |
4328e41f4b71Sopenharmony_ci
4329e41f4b71Sopenharmony_ci## PhotoSubType<sup>10+</sup>
4330e41f4b71Sopenharmony_ci
4331e41f4b71Sopenharmony_ci枚举,不同[FileAsset](#fileasset)的类型。
4332e41f4b71Sopenharmony_ci
4333e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
4334e41f4b71Sopenharmony_ci
4335e41f4b71Sopenharmony_ci| 名称  |  值 |  说明 |
4336e41f4b71Sopenharmony_ci| ----- |  ---- |  ---- |
4337e41f4b71Sopenharmony_ci| DEFAULT |  0 |  默认照片类型。 |
4338e41f4b71Sopenharmony_ci| SCREENSHOT |  1 |  截屏录屏文件类型。 |
4339e41f4b71Sopenharmony_ci| CAMERA |  2 |  相机拍摄的照片和视频类型。 |
4340e41f4b71Sopenharmony_ci
4341e41f4b71Sopenharmony_ci## PositionType<sup>10+</sup>
4342e41f4b71Sopenharmony_ci
4343e41f4b71Sopenharmony_ci枚举,文件位置,表示文件在本地或云端。
4344e41f4b71Sopenharmony_ci
4345e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
4346e41f4b71Sopenharmony_ci
4347e41f4b71Sopenharmony_ci| 名称  |  值 |  说明 |
4348e41f4b71Sopenharmony_ci| ----- |  ---- |  ---- |
4349e41f4b71Sopenharmony_ci| LOCAL |  1 |  文件只存在于本地。 |
4350e41f4b71Sopenharmony_ci| CLOUD |  2 |  文件只存在于云端。 |
4351e41f4b71Sopenharmony_ci| BOTH |  3 |  文件在本地和云端中都存在。 |
4352e41f4b71Sopenharmony_ci
4353e41f4b71Sopenharmony_ci## AlbumType<sup>10+</sup>
4354e41f4b71Sopenharmony_ci
4355e41f4b71Sopenharmony_ci枚举,相册类型,表示是用户相册还是系统预置相册。
4356e41f4b71Sopenharmony_ci
4357e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
4358e41f4b71Sopenharmony_ci
4359e41f4b71Sopenharmony_ci| 名称  |  值 |  说明 |
4360e41f4b71Sopenharmony_ci| ----- |  ---- |  ---- |
4361e41f4b71Sopenharmony_ci| USER |  0 |  用户相册。 |
4362e41f4b71Sopenharmony_ci| SYSTEM |  1024 |  系统预置相册。 |
4363e41f4b71Sopenharmony_ci
4364e41f4b71Sopenharmony_ci## AlbumSubType<sup>10+</sup>
4365e41f4b71Sopenharmony_ci
4366e41f4b71Sopenharmony_ci枚举,相册子类型,表示具体的相册类型。
4367e41f4b71Sopenharmony_ci
4368e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
4369e41f4b71Sopenharmony_ci
4370e41f4b71Sopenharmony_ci| 名称  |  值 |  说明 |
4371e41f4b71Sopenharmony_ci| ----- |  ---- |  ---- |
4372e41f4b71Sopenharmony_ci| USER_GENERIC |  1 |  用户相册。 |
4373e41f4b71Sopenharmony_ci| FAVORITE |  1025 |  收藏夹。 |
4374e41f4b71Sopenharmony_ci| VIDEO |  1026 |  视频相册。 |
4375e41f4b71Sopenharmony_ci| HIDDEN |  1027 |  隐藏相册。 |
4376e41f4b71Sopenharmony_ci| TRASH |  1028 |  回收站。 |
4377e41f4b71Sopenharmony_ci| SCREENSHOT |  1029 |  截屏和录屏相册。 |
4378e41f4b71Sopenharmony_ci| CAMERA |  1030 |  相机拍摄的照片和视频相册。 |
4379e41f4b71Sopenharmony_ci| ANY |  2147483647 |  任意相册。 |
4380e41f4b71Sopenharmony_ci
4381e41f4b71Sopenharmony_ci## PrivateAlbumType
4382e41f4b71Sopenharmony_ci
4383e41f4b71Sopenharmony_ci枚举,系统相册类型。
4384e41f4b71Sopenharmony_ci
4385e41f4b71Sopenharmony_ci此接口即将废弃,请使用[AlbumType](#albumtype10)和[AlbumSubType](#albumsubtype10)和接口替代。
4386e41f4b71Sopenharmony_ci
4387e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
4388e41f4b71Sopenharmony_ci
4389e41f4b71Sopenharmony_ci| 名称    |  值 |   说明   |
4390e41f4b71Sopenharmony_ci| -----   |  ----  |   ----  |
4391e41f4b71Sopenharmony_ci| TYPE_FAVORITE |  0 |  收藏夹相册。 |
4392e41f4b71Sopenharmony_ci| TYPE_TRASH |  1 |  回收站相册。 |
4393e41f4b71Sopenharmony_ci
4394e41f4b71Sopenharmony_ci## AudioKey
4395e41f4b71Sopenharmony_ci
4396e41f4b71Sopenharmony_ci枚举,音频文件关键信息。
4397e41f4b71Sopenharmony_ci
4398e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
4399e41f4b71Sopenharmony_ci
4400e41f4b71Sopenharmony_ci| 名称          |   值              | 说明                                                       |
4401e41f4b71Sopenharmony_ci| ------------- | ------------------- | ---------------------------------------------------------- |
4402e41f4b71Sopenharmony_ci| URI           | uri                 | 文件uri。                                                   |
4403e41f4b71Sopenharmony_ci| DISPLAY_NAME  | display_name        | 显示名字。                                                   |
4404e41f4b71Sopenharmony_ci| DATE_ADDED    | date_added          | 添加日期(添加文件时间距1970年1月1日的秒数值)。             |
4405e41f4b71Sopenharmony_ci| DATE_MODIFIED | date_modified       | 修改日期(修改文件时间距1970年1月1日的秒数值,修改文件名不会改变此值,当文件内容发生修改时才会更新)。 |
4406e41f4b71Sopenharmony_ci| TITLE         | title               | 文件标题。                                                   |
4407e41f4b71Sopenharmony_ci| ARTIST        | artist              | 作者。                                                   |
4408e41f4b71Sopenharmony_ci| AUDIOALBUM    | audio_album         | 专辑。                                                   |
4409e41f4b71Sopenharmony_ci| DURATION      | duration            | 持续时间(单位:毫秒)。                                    |
4410e41f4b71Sopenharmony_ci| FAVORITE      | favorite            | 收藏。                                                   |
4411e41f4b71Sopenharmony_ci
4412e41f4b71Sopenharmony_ci## ImageVideoKey
4413e41f4b71Sopenharmony_ci
4414e41f4b71Sopenharmony_ci枚举,图片和视频文件关键信息。
4415e41f4b71Sopenharmony_ci
4416e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
4417e41f4b71Sopenharmony_ci
4418e41f4b71Sopenharmony_ci| 名称          | 值              | 说明                                                       |
4419e41f4b71Sopenharmony_ci| ------------- | ------------------- | ---------------------------------------------------------- |
4420e41f4b71Sopenharmony_ci| URI           | uri                 | 文件uri。                                                   |
4421e41f4b71Sopenharmony_ci| FILE_TYPE     | file_type           | 媒体文件类型。                                              |
4422e41f4b71Sopenharmony_ci| DISPLAY_NAME  | display_name        | 显示名字。                                                   |
4423e41f4b71Sopenharmony_ci| DATE_ADDED    | date_added          | 添加日期(添加文件时间距1970年1月1日的秒数值)。             |
4424e41f4b71Sopenharmony_ci| DATE_MODIFIED | date_modified       | 修改日期(修改文件时间距1970年1月1日的秒数值,修改文件名不会改变此值,当文件内容发生修改时才会更新)。 |
4425e41f4b71Sopenharmony_ci| TITLE         | title               | 文件标题。                                                   |
4426e41f4b71Sopenharmony_ci| DURATION      | duration            | 持续时间(单位:毫秒)。                                    |
4427e41f4b71Sopenharmony_ci| WIDTH         | width               | 图片宽度(单位:像素)。                                    |
4428e41f4b71Sopenharmony_ci| HEIGHT        | height              | 图片高度(单位:像素)。                                      |
4429e41f4b71Sopenharmony_ci| DATE_TAKEN    | date_taken          | 拍摄日期(文件拍照时间距1970年1月1日的秒数值)。                |
4430e41f4b71Sopenharmony_ci| ORIENTATION   | orientation         | 图片文件的方向。                                             |
4431e41f4b71Sopenharmony_ci| FAVORITE      | favorite            | 收藏。                                                    |
4432e41f4b71Sopenharmony_ci| POSITION<sup>10+</sup>  | position            | 文件位置类型。                               |
4433e41f4b71Sopenharmony_ci| DATE_TRASHED<sup>10+</sup>  | date_trashed  | 删除日期(删除文件时间距1970年1月1日的秒数值)。                 |
4434e41f4b71Sopenharmony_ci| HIDDEN<sup>10+</sup>  | hidden            | 文件的隐藏状态。                               |
4435e41f4b71Sopenharmony_ci| CAMERA_SHOT_KEY<sup>10+</sup>    | camera_shot_key           | 锁屏相机拍照或录像的标记字段(仅开放给系统相机,其key值由系统相机定义)。    |
4436e41f4b71Sopenharmony_ci| USER_COMMENT<sup>10+</sup>  | user_comment            | 用户注释信息。                               |
4437e41f4b71Sopenharmony_ci
4438e41f4b71Sopenharmony_ci## AlbumKey
4439e41f4b71Sopenharmony_ci
4440e41f4b71Sopenharmony_ci枚举,相册关键信息。
4441e41f4b71Sopenharmony_ci
4442e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
4443e41f4b71Sopenharmony_ci
4444e41f4b71Sopenharmony_ci| 名称          | 值              | 说明                                                       |
4445e41f4b71Sopenharmony_ci| ------------- | ------------------- | ---------------------------------------------------------- |
4446e41f4b71Sopenharmony_ci| URI           | uri                 | 相册uri。                                                   |
4447e41f4b71Sopenharmony_ci| FILE_TYPE     | file_type           | 媒体文件类型。                                              |
4448e41f4b71Sopenharmony_ci| ALBUM_NAME    | album_name          | 相册名字。                                                   |
4449e41f4b71Sopenharmony_ci| DATE_ADDED    | date_added          | 添加日期(添加文件时间距1970年1月1日的秒数值)。             |
4450e41f4b71Sopenharmony_ci| DATE_MODIFIED | date_modified       | 修改日期(修改文件时间距1970年1月1日的秒数值,修改文件名不会改变此值,当文件内容发生修改时才会更新)。 |
4451e41f4b71Sopenharmony_ci
4452e41f4b71Sopenharmony_ci## PhotoCreateOptions<sup>10+</sup>
4453e41f4b71Sopenharmony_ci
4454e41f4b71Sopenharmony_ci图片或视频的创建选项。
4455e41f4b71Sopenharmony_ci
4456e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
4457e41f4b71Sopenharmony_ci
4458e41f4b71Sopenharmony_ci| 名称                   | 类型                | 必填 | 说明                                              |
4459e41f4b71Sopenharmony_ci| ---------------------- | ------------------- | ---- | ------------------------------------------------ |
4460e41f4b71Sopenharmony_ci| subType           | [PhotoSubType](#photosubtype10) | 否  | 图片或者视频的子类型。  |
4461e41f4b71Sopenharmony_ci| cameraShotKey           | string | 否  | 锁屏相机拍照或录像的标记字段(仅开放给系统相机,其key值由系统相机定义)。  |
4462e41f4b71Sopenharmony_ci
4463e41f4b71Sopenharmony_ci## FetchOptions
4464e41f4b71Sopenharmony_ci
4465e41f4b71Sopenharmony_ci检索条件。
4466e41f4b71Sopenharmony_ci
4467e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
4468e41f4b71Sopenharmony_ci
4469e41f4b71Sopenharmony_ci| 名称                   | 类型                | 只读 | 可写 | 说明                                              |
4470e41f4b71Sopenharmony_ci| ---------------------- | ------------------- | ---- |---- | ------------------------------------------------ |
4471e41f4b71Sopenharmony_ci| fetchColumns           | Array&lt;string&gt; | 是   | 是   | 检索条件,指定列名查询,如果该参数为空时默认查询uri、name、fileType(具体字段名称以检索对象定义为准)且使用[get](#get)接口去获取当前对象的其他属性时将会报错。示例:<br />fetchColumns: ['uri', 'title']。 |
4472e41f4b71Sopenharmony_ci| predicates           | [dataSharePredicates.DataSharePredicates](../apis-arkdata/js-apis-data-dataSharePredicates-sys.md) | 是   | 是   | 谓词查询,显示过滤条件。 |
4473e41f4b71Sopenharmony_ci
4474e41f4b71Sopenharmony_ci## AlbumFetchOptions
4475e41f4b71Sopenharmony_ci
4476e41f4b71Sopenharmony_ci相册检索条件。
4477e41f4b71Sopenharmony_ci
4478e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
4479e41f4b71Sopenharmony_ci
4480e41f4b71Sopenharmony_ci| 名称                   | 类型                | 只读 | 可写 | 说明                                              |
4481e41f4b71Sopenharmony_ci| ---------------------- | ------------------- | ---- |---- | ------------------------------------------------ |
4482e41f4b71Sopenharmony_ci| predicates           | [dataSharePredicates.DataSharePredicates](../apis-arkdata/js-apis-data-dataSharePredicates-sys.md) | 是   | 是   | 谓词查询,显示过滤条件。 |
4483e41f4b71Sopenharmony_ci
4484e41f4b71Sopenharmony_ci## ChangeData<sup>10+</sup>
4485e41f4b71Sopenharmony_ci
4486e41f4b71Sopenharmony_ci监听器回调函数的值。
4487e41f4b71Sopenharmony_ci
4488e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
4489e41f4b71Sopenharmony_ci
4490e41f4b71Sopenharmony_ci| 名称    | 类型                        | 只读 | 可写 | 说明                                                         |
4491e41f4b71Sopenharmony_ci| ------- | --------------------------- | ---- | ---- | ------------------------------------------------------------ |
4492e41f4b71Sopenharmony_ci| type    | [NotifyType](#notifytype10) | 是   | 否   | ChangeData的通知类型。                                       |
4493e41f4b71Sopenharmony_ci| uris    | Array&lt;string&gt;         | 是   | 否   | 相同[NotifyType](#notifytype10)的所有uri,可以是FileAsset或Album。 |
4494e41f4b71Sopenharmony_ci| subUris | Array&lt;string&gt;         | 是   | 否   | 相册中变动文件的uri数组。                                    |
4495e41f4b71Sopenharmony_ci
4496e41f4b71Sopenharmony_ci## NotifyType<sup>10+</sup>
4497e41f4b71Sopenharmony_ci
4498e41f4b71Sopenharmony_ci枚举,通知事件的类型。
4499e41f4b71Sopenharmony_ci
4500e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
4501e41f4b71Sopenharmony_ci
4502e41f4b71Sopenharmony_ci| 名称                      | 值   | 说明                             |
4503e41f4b71Sopenharmony_ci| ------------------------- | ---- | -------------------------------- |
4504e41f4b71Sopenharmony_ci| NOTIFY_ADD                | 0    | 添加文件集或相册通知的类型。     |
4505e41f4b71Sopenharmony_ci| NOTIFY_UPDATE             | 1    | 文件集或相册的更新通知类型。     |
4506e41f4b71Sopenharmony_ci| NOTIFY_REMOVE             | 2    | 删除文件集或相册的通知类型。     |
4507e41f4b71Sopenharmony_ci| NOTIFY_ALBUM_ADD_ASSET    | 3    | 在相册中添加的文件集的通知类型。 |
4508e41f4b71Sopenharmony_ci| NOTIFY_ALBUM_REMOVE_ASSET | 4    | 在相册中删除的文件集的通知类型。 |
4509e41f4b71Sopenharmony_ci
4510e41f4b71Sopenharmony_ci## DefaultChangeUri<sup>10+</sup>
4511e41f4b71Sopenharmony_ci
4512e41f4b71Sopenharmony_ci枚举,DefaultChangeUri子类型。
4513e41f4b71Sopenharmony_ci
4514e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
4515e41f4b71Sopenharmony_ci
4516e41f4b71Sopenharmony_ci| 名称              | 值                      | 说明                                                         |
4517e41f4b71Sopenharmony_ci| ----------------- | ----------------------- | ------------------------------------------------------------ |
4518e41f4b71Sopenharmony_ci| DEFAULT_PHOTO_URI | file://media/Photo      | 默认PhotoAsset的Uri,与forSubUri{true}一起使用,将接收所有PhotoAsset的更改通知。 |
4519e41f4b71Sopenharmony_ci| DEFAULT_ALBUM_URI | file://media/PhotoAlbum | 默认相册的Uri,与forSubUri{true}一起使用,将接收所有相册的更改通知。 |
4520e41f4b71Sopenharmony_ci| DEFAULT_AUDIO_URI | file://media/Audio      | 默认AudioAsset的Uri,与forSubUri{true}一起使用,将接收所有AudioAsset的更改通知。 |
4521e41f4b71Sopenharmony_ci
4522