js-apis-userFileManager.md 80.4 KB
Newer Older
Z
zengyawen 已提交
1
# @ohos.filemanagement.userFileManager (用户数据管理)
Y
yangbo 已提交
2

Z
zhang-daiyue 已提交
3 4
该模块提供用户数据管理能力,包括访问、修改用户等用户公共媒体数据信息等常用功能。

zyjhandsome's avatar
zyjhandsome 已提交
5
> **说明:**
Z
zengyawen 已提交
6 7 8
>
> - 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
> - 本模块接口为系统接口。
Y
yangbo 已提交
9 10

## 导入模块
W
wangqinxiao 已提交
11

Z
zhang-daiyue 已提交
12 13
```ts
import userFileManager from '@ohos.filemanagement.userFileManager';
Y
yangbo 已提交
14 15 16 17 18 19 20 21 22
```

## userFileManager.getUserFileMgr

getUserFileMgr(context: Context): UserFileManager

获取用户数据管理模块的实例,用于访问和修改用户等用户公共媒体数据信息(如音频、视频、图片、文档等)。

**模型约束:** 此接口仅可在Stage模型下使用。
zyjhandsome's avatar
zyjhandsome 已提交
23

Y
yangbo 已提交
24 25
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

Z
zengyawen 已提交
26
**参数:**
Y
yangbo 已提交
27 28 29

| 参数名  | 类型    | 必填 | 说明                       |
| ------- | ------- | ---- | -------------------------- |
H
huweiqi 已提交
30
| context | [Context](js-apis-inner-app-context.md) | 是   | 传入Ability实例的Context |
Y
yangbo 已提交
31 32 33 34 35 36 37 38 39 40

**返回值:**

| 类型                            | 说明    |
| ----------------------------- | :---- |
| [UserFileManager](#userfilemanager) | 媒体库实例 |

**示例:**

```ts
41
//此处获取的userFileManager实例mgr为全局对象,后续使用到mgr的地方默认为使用此处获取的对象,如未添加此段代码报mgr未定义的错误请自行添加
Y
yangbo 已提交
42
const context = getContext(this);
H
huweiqi 已提交
43
let mgr = userFileManager.getUserFileMgr(context);
Y
yangbo 已提交
44
```
W
wangqinxiao 已提交
45

Y
yangbo 已提交
46 47
## UserFileManager

Z
zhang-daiyue 已提交
48 49 50 51 52
### getPhotoAssets

getPhotoAssets(options: FetchOptions, callback: AsyncCallback<FetchResult<FileAsset>>): void;

获取图片和视频资源,使用callback方式返回结果。
Y
yangbo 已提交
53 54 55

**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

Z
zhang-daiyue 已提交
56 57
**需要权限**:ohos.permission.READ_IMAGEVIDEO

Y
yangbo 已提交
58 59 60 61
**参数:**

| 参数名   | 类型                     | 必填 | 说明                      |
| -------- | ------------------------ | ---- | ------------------------- |
Z
zhang-daiyue 已提交
62 63
| options  | [FetchOptions](#fetchoptions)        | 是   | 图片和视频检索选项              |
| callback |  AsyncCallback<[FetchResult](#fetchresult)<[FileAsset](#fileasset)>> | 是   | callback 返回图片和视频检索结果集 |
Y
yangbo 已提交
64 65 66 67

**示例:**

```ts
H
huweiqi 已提交
68 69
import dataSharePredicates from '@ohos.data.dataSharePredicates';

Z
zhang-daiyue 已提交
70 71 72 73 74 75 76 77 78 79 80 81 82
async function example() {
  console.info('getPhotoAssets');
  let predicates = new dataSharePredicates.DataSharePredicates();
  let fetchOptions = {
    fetchColumns: [],
    predicates: predicates
  };

  mgr.getPhotoAssets(fetchOptions, async (err, fetchResult) => {
    if (fetchResult != undefined) {
      console.info('fetchResult success');
      let fileAsset = await fetchResult.getFirstObject();
      if (fileAsset != undefined) {
H
huweiqi 已提交
83
        console.info("fileAsset.displayName : " + fileAsset.displayName);
Z
zhang-daiyue 已提交
84 85
      }
    } else {
H
huweiqi 已提交
86
      console.error('fetchResult fail' + err);
Z
zhang-daiyue 已提交
87
    }
H
huweiqi 已提交
88
  });
Y
yangbo 已提交
89 90 91
}
```

Z
zhang-daiyue 已提交
92 93 94
### getPhotoAssets

getPhotoAssets(options: FetchOptions): Promise<FetchResult<FileAsset>>;
Y
yangbo 已提交
95

Z
zhang-daiyue 已提交
96
获取图片和视频资源,使用Promise方式返回结果。
Y
yangbo 已提交
97 98 99

**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

Z
zhang-daiyue 已提交
100 101
**需要权限**:ohos.permission.READ_IMAGEVIDEO

Y
yangbo 已提交
102 103
**参数:**

Z
zhang-daiyue 已提交
104 105 106
| 参数名  | 类型                | 必填 | 说明             |
| ------- | ------------------- | ---- | ---------------- |
| options | [FetchOptions](#fetchoptions)   | 是   | 图片和视频检索选项     |
Y
yangbo 已提交
107

Z
zengyawen 已提交
108
**返回值:**
Y
yangbo 已提交
109

Z
zhang-daiyue 已提交
110 111 112
| 类型                        | 说明           |
| --------------------------- | -------------- |
| Promise<[FetchResult](#fetchresult)<[FileAsset](#fileasset)>> | 图片和视频数据结果集 |
Y
yangbo 已提交
113 114 115 116

**示例:**

```ts
H
huweiqi 已提交
117 118
import dataSharePredicates from '@ohos.data.dataSharePredicates';

Z
zhang-daiyue 已提交
119 120 121 122 123 124 125 126
async function example() {
  console.info('getPhotoAssets');
  let predicates = new dataSharePredicates.DataSharePredicates();
  let fetchOptions = {
    fetchColumns: [],
    predicates: predicates
  };
  try {
127
    let fetchResult = await mgr.getPhotoAssets(fetchOptions);
Z
zhang-daiyue 已提交
128 129 130 131 132 133
    if (fetchResult != undefined) {
      console.info('fetchResult success');
      let fileAsset = await fetchResult.getFirstObject();
      if (fileAsset != undefined) {
        console.info("fileAsset.displayName :" + fileAsset.displayName);
      }
Y
yangbo 已提交
134
    }
Z
zhang-daiyue 已提交
135
  } catch (err) {
H
huweiqi 已提交
136
    console.error('getPhotoAssets failed, message = ', err);
Z
zhang-daiyue 已提交
137
  }
Y
yangbo 已提交
138 139
}
```
Z
zengyawen 已提交
140

Z
zhang-daiyue 已提交
141
### createPhotoAsset
Y
yangbo 已提交
142

Z
zhang-daiyue 已提交
143
createPhotoAsset(displayName: string, albumUri: string, callback: AsyncCallback<FileAsset>): void;
Y
yangbo 已提交
144

Z
zhang-daiyue 已提交
145
创建图片或视频资源,使用callback方式返回结果。
Y
yangbo 已提交
146 147 148

**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

Z
zhang-daiyue 已提交
149
**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
Y
yangbo 已提交
150 151 152 153 154

**参数:**

| 参数名   | 类型                     | 必填 | 说明                      |
| -------- | ------------------------ | ---- | ------------------------- |
Z
zhang-daiyue 已提交
155 156 157
| displayName  | string        | 是   | 创建的图片或者视频文件名              |
| albumUri  | string        | 是   | 创建的图片或者视频所在相册的uri              |
| callback |  AsyncCallback<[FileAsset](#fileasset)> | 是   | callback 返回创建的图片和视频结果 |
Y
yangbo 已提交
158 159 160 161

**示例:**

```ts
H
huweiqi 已提交
162 163
import dataSharePredicates from '@ohos.data.dataSharePredicates';

Z
zhang-daiyue 已提交
164
async function example() {
H
huweiqi 已提交
165
  console.info('createPhotoAssetDemo');
Z
zhang-daiyue 已提交
166 167 168 169
  let predicates = new dataSharePredicates.DataSharePredicates();
  let fetchOptions = {
    predicates: predicates
  };
H
huweiqi 已提交
170 171
  let albums = await mgr.getPhotoAlbums(fetchOptions);
  let album = await albums.getFirstObject();
H
huweiqi 已提交
172 173
  let testFileName = "testFile" + Date.now() + ".jpg";
  mgr.createPhotoAsset(testFileName, album.albumUri, (err, fileAsset) => {
Z
zhang-daiyue 已提交
174 175 176 177
    if (fileAsset != undefined) {
      console.info('createPhotoAsset file displayName' + fileAsset.displayName);
      console.info('createPhotoAsset successfully');
    } else {
H
huweiqi 已提交
178
      console.error('createPhotoAsset failed, message = ', err);
Z
zhang-daiyue 已提交
179
    }
H
huweiqi 已提交
180
  });
Z
zhang-daiyue 已提交
181 182
}
```
Y
yangbo 已提交
183

Z
zhang-daiyue 已提交
184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204
### createPhotoAsset

createPhotoAsset(displayName: string, callback: AsyncCallback<FileAsset>): void;

创建图片或视频资源,使用callback方式返回结果。

**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

**需要权限**:ohos.permission.WRITE_IMAGEVIDEO

**参数:**

| 参数名   | 类型                     | 必填 | 说明                      |
| -------- | ------------------------ | ---- | ------------------------- |
| displayName  | string        | 是   | 创建的图片或者视频文件名              |
| callback |  AsyncCallback<[FileAsset](#fileasset)> | 是   | callback 返回创建的图片和视频结果 |

**示例:**

```ts
async function example() {
H
huweiqi 已提交
205
  console.info('createPhotoAssetDemo');
H
huweiqi 已提交
206 207
  let testFileName = "testFile" + Date.now() + ".jpg";
  mgr.createPhotoAsset(testFileName, (err, fileAsset) => {
Z
zhang-daiyue 已提交
208 209 210 211
    if (fileAsset != undefined) {
      console.info('createPhotoAsset file displayName' + fileAsset.displayName);
      console.info('createPhotoAsset successfully');
    } else {
H
huweiqi 已提交
212
      console.error('createPhotoAsset failed, message = ', err);
Z
zhang-daiyue 已提交
213
    }
H
huweiqi 已提交
214
  });
Y
yangbo 已提交
215 216 217
}
```

Z
zhang-daiyue 已提交
218
### createPhotoAsset
Y
yangbo 已提交
219

H
huweiqi 已提交
220
createPhotoAsset(displayName: string, albumUri?: string): Promise<FileAsset>;
Y
yangbo 已提交
221

Z
zhang-daiyue 已提交
222
创建图片或视频资源,使用Promise方式返回结果。
Y
yangbo 已提交
223 224 225

**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

Z
zhang-daiyue 已提交
226
**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
Y
yangbo 已提交
227 228 229

**参数:**

Z
zhang-daiyue 已提交
230 231 232 233
| 参数名   | 类型                     | 必填 | 说明                      |
| -------- | ------------------------ | ---- | ------------------------- |
| displayName  | string        | 是   | 创建的图片或者视频文件名              |
| albumUri  | string        | 否   | 创建的图片或者视频所在相册的uri              |
Y
yangbo 已提交
234

Z
zengyawen 已提交
235
**返回值:**
Y
yangbo 已提交
236 237 238

| 类型                        | 说明           |
| --------------------------- | -------------- |
Z
zhang-daiyue 已提交
239
| Promise<[FileAsset](#fileasset)> | 返回创建的图片和视频结果 |
Y
yangbo 已提交
240 241 242 243

**示例:**

```ts
Z
zhang-daiyue 已提交
244
async function example() {
H
huweiqi 已提交
245
  console.info('createPhotoAssetDemo');
Z
zhang-daiyue 已提交
246
  try {
H
huweiqi 已提交
247
    let testFileName = "testFile" + Date.now() + ".jpg";
H
huweiqi 已提交
248
    let fileAsset = await mgr.createPhotoAsset(testFileName);
Z
zhang-daiyue 已提交
249 250 251
    console.info('createPhotoAsset file displayName' + fileAsset.displayName);
    console.info('createPhotoAsset successfully');
  } catch (err) {
H
huweiqi 已提交
252
    console.error('createPhotoAsset failed, message = ', err);
Z
zhang-daiyue 已提交
253
  }
Y
yangbo 已提交
254 255 256
}
```

Z
zhang-daiyue 已提交
257
### getPhotoAlbums
Y
yangbo 已提交
258

Z
zhang-daiyue 已提交
259
getPhotoAlbums(options: AlbumFetchOptions, callback: AsyncCallback<FetchResult<Album>>): void;
Y
yangbo 已提交
260

Z
zhang-daiyue 已提交
261
获取相册,使用callback方式返回结果。
Y
yangbo 已提交
262 263 264

**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

Z
zhang-daiyue 已提交
265 266
**需要权限**:ohos.permission.READ_IMAGEVIDEO

Y
yangbo 已提交
267 268
**参数:**

Z
zhang-daiyue 已提交
269 270 271 272
| 参数名   | 类型                     | 必填 | 说明                      |
| -------- | ------------------------ | ---- | ------------------------- |
| options  | [AlbumFetchOptions](#albumfetchoptions)        | 是   | 相册检索选项              |
| callback |  AsyncCallback<[FetchResult](#fetchresult)<[Album](#album)>> | 是   | callback 返回相册检索结果 |
Y
yangbo 已提交
273 274 275 276

**示例:**

```ts
H
huweiqi 已提交
277 278
import dataSharePredicates from '@ohos.data.dataSharePredicates';

Z
zhang-daiyue 已提交
279
async function example() {
H
huweiqi 已提交
280
  console.info('getPhotoAlbumsDemo');
Z
zhang-daiyue 已提交
281 282 283 284 285 286 287 288 289 290 291 292
  let predicates = new dataSharePredicates.DataSharePredicates();
  let albumFetchOptions = {
    predicates: predicates
  };

  mgr.getPhotoAlbums(albumFetchOptions, (err, fetchResult) => {
    if (fetchResult != undefined) {
      console.info('albums.count = ' + fetchResult.getCount());
      fetchResult.getFirstObject((err, album) => {
        if (album != undefined) {
          console.info('first album.albumName = ' + album.albumName);
        } else {
H
huweiqi 已提交
293
          console.error('album is undefined, err = ', err);
Z
zhang-daiyue 已提交
294
        }
H
huweiqi 已提交
295
      });
H
huweiqi 已提交
296
    } else {
H
huweiqi 已提交
297
      console.error('getPhotoAlbums fail, message = ', err);
Z
zhang-daiyue 已提交
298
    }
H
huweiqi 已提交
299
  });
Y
yangbo 已提交
300 301 302
}
```

Z
zhang-daiyue 已提交
303
### getPhotoAlbums
Y
yangbo 已提交
304

Z
zhang-daiyue 已提交
305
getPhotoAlbums(options: AlbumFetchOptions): Promise<FetchResult<Album>>;
Y
yangbo 已提交
306

307
获取相册,使用Promise方式返回结果。
Y
yangbo 已提交
308 309 310

**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

Z
zhang-daiyue 已提交
311 312
**需要权限**:ohos.permission.READ_IMAGEVIDEO

Y
yangbo 已提交
313 314
**参数:**

Z
zhang-daiyue 已提交
315 316 317 318
| 参数名   | 类型                     | 必填 | 说明                      |
| -------- | ------------------------ | ---- | ------------------------- |
| options  | [AlbumFetchOptions](#albumfetchoptions)        | 是   | 相册检索选项              |

Z
zengyawen 已提交
319
**返回值:**
Z
zhang-daiyue 已提交
320 321 322 323

| 类型                        | 说明           |
| --------------------------- | -------------- |
| Promise<[FetchResult](#fetchresult)<[Album](#album)>> | Promise 返回相册检索结果 |
Y
yangbo 已提交
324 325 326 327

**示例:**

```ts
H
huweiqi 已提交
328 329
import dataSharePredicates from '@ohos.data.dataSharePredicates';

Z
zhang-daiyue 已提交
330
async function example() {
H
huweiqi 已提交
331
  console.info('getPhotoAlbumsDemo');
Z
zhang-daiyue 已提交
332 333 334 335 336 337 338 339 340 341
  let predicates = new dataSharePredicates.DataSharePredicates();
  let albumFetchOptions = {
    predicates: predicates
  };
  try {
    let fetchResult = await mgr.getPhotoAlbums(albumFetchOptions);
    console.info('album.count = ' + fetchResult.getCount());
    const album = await fetchResult.getFirstObject();
    console.info('first album.albumName = ' + album.albumName);
  } catch (err) {
H
huweiqi 已提交
342
    console.error('getPhotoAlbums fail, message = ' + err);
Z
zhang-daiyue 已提交
343
  }
Y
yangbo 已提交
344 345 346
}
```

Z
zhang-daiyue 已提交
347
### getPrivateAlbum
Y
yangbo 已提交
348

Z
zhang-daiyue 已提交
349
getPrivateAlbum(type: PrivateAlbumType, callback: AsyncCallback<FetchResult<PrivateAlbum>>): void;
Y
yangbo 已提交
350

Z
zhang-daiyue 已提交
351
获取系统相册,使用 callback 方式返回系统相册的数组。
李云帆 已提交
352

Y
yangbo 已提交
353 354
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

Z
zhang-daiyue 已提交
355
**需要权限**:ohos.permission.READ_IMAGEVIDEO
Y
yangbo 已提交
356 357 358

**参数:**

Z
zhang-daiyue 已提交
359 360 361 362
| 参数名   | 类型                     | 必填 | 说明                      |
| -------- | ------------------------ | ---- | ------------------------- |
| type  | [PrivateAlbumType](#privatealbumtype)        | 是   | 系统相册类型              |
| callback |  AsyncCallback<[FetchResult](#fetchresult)<[PrivateAlbum](#privatealbum)>> | 是   | callback 返回相册检索结果 |
Y
yangbo 已提交
363 364 365 366

**示例:**

```ts
Z
zhang-daiyue 已提交
367
async function example() {
H
huweiqi 已提交
368
  console.info('getPrivateAlbumDemo');
Z
zhang-daiyue 已提交
369 370 371 372 373
  mgr.getPrivateAlbum(userFileManager.PrivateAlbumType.TYPE_TRASH, async (err, fetchResult) => {
    if (fetchResult != undefined) {
      let trashAlbum = await fetchResult.getFirstObject();
      console.info('first album.albumName = ' + trashAlbum.albumName);
    } else {
H
huweiqi 已提交
374
      console.error('getPrivateAlbum failed. message = ', err);
Z
zhang-daiyue 已提交
375 376
    }
  });
Y
yangbo 已提交
377 378 379
}
```

Z
zhang-daiyue 已提交
380
### getPrivateAlbum
Y
yangbo 已提交
381

Z
zhang-daiyue 已提交
382
getPrivateAlbum(type: PrivateAlbumType): Promise<FetchResult<PrivateAlbum>>;
Y
yangbo 已提交
383 384


Z
zhang-daiyue 已提交
385
获取系统相册,使用Promise方式返回结果。
李云帆 已提交
386

Y
yangbo 已提交
387 388
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

Z
zhang-daiyue 已提交
389
**需要权限**:ohos.permission.READ_IMAGEVIDEO
Y
yangbo 已提交
390 391 392

**参数:**

Z
zhang-daiyue 已提交
393 394 395
| 参数名   | 类型                     | 必填 | 说明                      |
| -------- | ------------------------ | ---- | ------------------------- |
| type  | [PrivateAlbumType](#privatealbumtype)        | 是   | 系统相册类型              |
Y
yangbo 已提交
396

Z
zengyawen 已提交
397
**返回值:**
Y
yangbo 已提交
398

Z
zhang-daiyue 已提交
399 400 401
| 类型                        | 说明           |
| --------------------------- | -------------- |
| Promise<[FetchResult](#fetchresult)<[PrivateAlbum](#privatealbum)>> | Promise 返回相册检索结果 |
Y
yangbo 已提交
402 403 404 405

**示例:**

```ts
Z
zhang-daiyue 已提交
406 407 408
async function example() {
  console.info('getPrivateAlbumDemo');
  try {
409
    let fetchResult = await mgr.getPrivateAlbum(userFileManager.PrivateAlbumType.TYPE_TRASH);
Z
zhang-daiyue 已提交
410 411 412
    let trashAlbum = await fetchResult.getFirstObject();
    console.info('first album.albumName = ' + trashAlbum.albumName);
  } catch (err) {
H
huweiqi 已提交
413
    console.error('getPrivateAlbum failed. message = ', err);
Z
zhang-daiyue 已提交
414
  }
Y
yangbo 已提交
415 416 417
}
```

Z
zhang-daiyue 已提交
418
### getAudioAssets
Y
yangbo 已提交
419

Z
zhang-daiyue 已提交
420
getAudioAssets(options: FetchOptions, callback: AsyncCallback<FetchResult<FileAsset>>): void;
Y
yangbo 已提交
421

Z
zhang-daiyue 已提交
422
获取音频文件,使用callback方式返回结果。
李云帆 已提交
423

Y
yangbo 已提交
424 425
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

Z
zhang-daiyue 已提交
426
**需要权限**:ohos.permission.READ_AUDIO
Y
yangbo 已提交
427 428 429

**参数:**

Z
zhang-daiyue 已提交
430 431 432
| 参数名   | 类型                     | 必填 | 说明                      |
| -------- | ------------------------ | ---- | ------------------------- |
| options  | [FetchOptions](#fetchoptions)        | 是   | 检索选项              |
433
| callback |  AsyncCallback<[FetchResult](#fetchresult)<[FileAsset](#fileasset)>> | 是   | callback 返回音频检索结果 |
Y
yangbo 已提交
434 435 436 437

**示例:**

```ts
H
huweiqi 已提交
438 439
import dataSharePredicates from '@ohos.data.dataSharePredicates';

Z
zhang-daiyue 已提交
440 441 442 443 444 445 446 447
async function example() {
  console.info('getAudioAssets');
  let predicates = new dataSharePredicates.DataSharePredicates();
  let fetchOptions = {
    fetchColumns: [],
    predicates: predicates
  };

H
huweiqi 已提交
448
  mgr.getAudioAssets(fetchOptions, async (err, fetchResult) => {
Z
zhang-daiyue 已提交
449 450 451 452 453 454 455
    if (fetchResult != undefined) {
      console.info('fetchFileResult success');
      let fileAsset = await fetchResult.getFirstObject();
      if (fileAsset != undefined) {
        console.info("fileAsset.displayName :" + fileAsset.displayName);
      }
    } else {
H
huweiqi 已提交
456
      console.error('fetchFileResult fail' + err);
Y
yangbo 已提交
457
    }
H
huweiqi 已提交
458
  });
Y
yangbo 已提交
459 460 461
}
```

Z
zhang-daiyue 已提交
462
### getAudioAssets
Y
yangbo 已提交
463

Z
zhang-daiyue 已提交
464
getAudioAssets(options: FetchOptions): Promise<FetchResult<FileAsset>>;
Y
yangbo 已提交
465

Z
zhang-daiyue 已提交
466
获取音频文件,使用callback方式返回结果。
李云帆 已提交
467

Y
yangbo 已提交
468 469
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

Z
zhang-daiyue 已提交
470
**需要权限**:ohos.permission.READ_AUDIO
Y
yangbo 已提交
471 472 473

**参数:**

Z
zhang-daiyue 已提交
474 475 476
| 参数名   | 类型                     | 必填 | 说明                      |
| -------- | ------------------------ | ---- | ------------------------- |
| options  | [FetchOptions](#fetchoptions)        | 是   | 检索选项              |
Y
yangbo 已提交
477

Z
zengyawen 已提交
478
**返回值:**
Y
yangbo 已提交
479

Z
zhang-daiyue 已提交
480 481
| 类型                        | 说明           |
| --------------------------- | -------------- |
482
| Promise<[FetchResult](#fetchresult)<[FileAsset](#fileasset)>> | Promise 返回音频检索结果 |
Y
yangbo 已提交
483 484 485 486

**示例:**

```ts
H
huweiqi 已提交
487 488
import dataSharePredicates from '@ohos.data.dataSharePredicates';

Z
zhang-daiyue 已提交
489 490 491 492 493 494 495 496
async function example() {
  console.info('getAudioAssets');
  let predicates = new dataSharePredicates.DataSharePredicates();
  let fetchOptions = {
    fetchColumns: [],
    predicates: predicates
  };
  try {
H
huweiqi 已提交
497
    var fetchResult = await mgr.getAudioAssets(fetchOptions);
Z
zhang-daiyue 已提交
498
  } catch (err) {
H
huweiqi 已提交
499
    console.error('getAudioAssets failed, message = ', err);
Z
zhang-daiyue 已提交
500 501 502 503 504 505 506
  }

  if (fetchResult != undefined) {
    console.info('fetchFileResult success');
    let fileAsset = await fetchResult.getFirstObject();
    if (fileAsset != undefined) {
      console.info("fileAsset.displayName :" + fileAsset.displayName);
Y
yangbo 已提交
507
    }
Z
zhang-daiyue 已提交
508
  }
Y
yangbo 已提交
509 510
}
```
Z
zengyawen 已提交
511

Z
zhang-daiyue 已提交
512
### delete
Y
yangbo 已提交
513

Z
zhang-daiyue 已提交
514
delete(uri: string, callback: AsyncCallback<void>): void;
Y
yangbo 已提交
515

H
huweiqi 已提交
516
删除媒体文件,删除的文件进入到回收站。
Y
yangbo 已提交
517

Z
zhang-daiyue 已提交
518
**需要权限**:ohos.permission.READ_IMAGEVIDEO 和 ohos.permission.WRITE_IMAGEVIDEO 或 ohos.permission.READ_AUDIO 和 ohos.permission.WRITE_AUDIO
Y
yangbo 已提交
519

李云帆 已提交
520
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
Y
yangbo 已提交
521

Z
zhang-daiyue 已提交
522
**参数**
Y
yangbo 已提交
523

Z
zhang-daiyue 已提交
524 525 526 527
| 参数名   | 类型                      | 必填 | 说明       |
| -------- | ------------------------- | ---- | ---------- |
| uri | string | 是   | 媒体文件uri |
| callback | AsyncCallback<void> | 是   | 回调返回空 |
Y
yangbo 已提交
528

Z
zhang-daiyue 已提交
529
**示例**
Y
yangbo 已提交
530 531

```ts
H
huweiqi 已提交
532 533
import dataSharePredicates from '@ohos.data.dataSharePredicates';

Z
zhang-daiyue 已提交
534
async function example() {
H
huweiqi 已提交
535
  console.info('deleteAssetDemo');
Z
zhang-daiyue 已提交
536 537 538 539 540 541 542 543 544
  let predicates = new dataSharePredicates.DataSharePredicates();
  let fetchOptions = {
    fetchColumns: [],
    predicates: predicates
  };
  try {
    const fetchResult = await mgr.getPhotoAssets(fetchOptions);
    var asset = await fetchResult.getFirstObject();
  } catch (err) {
H
huweiqi 已提交
545
    console.info('fetch failed, message =', err);
Z
zhang-daiyue 已提交
546 547 548
  }

  if (asset == undefined) {
H
huweiqi 已提交
549
    console.error('asset not exist');
Z
zhang-daiyue 已提交
550 551 552 553 554 555
    return;
  }
  mgr.delete(asset.uri, (err) => {
    if (err == undefined) {
      console.info("delete successfully");
    } else {
H
huweiqi 已提交
556
      console.error("delete failed with error: " + err);
Z
zhang-daiyue 已提交
557 558
    }
  });
Y
yangbo 已提交
559 560
}
```
Z
zengyawen 已提交
561

Z
zhang-daiyue 已提交
562
### delete
Y
yangbo 已提交
563

Z
zhang-daiyue 已提交
564
delete(uri: string): Promise<void>;
Y
yangbo 已提交
565

H
huweiqi 已提交
566
删除媒体文件,删除的文件进入到回收站。
Y
yangbo 已提交
567

Z
zhang-daiyue 已提交
568
**需要权限**:ohos.permission.READ_IMAGEVIDEO 和 ohos.permission.WRITE_IMAGEVIDEO 或 ohos.permission.READ_AUDIO 和 ohos.permission.WRITE_AUDIO
Y
yangbo 已提交
569

李云帆 已提交
570 571
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

Z
zhang-daiyue 已提交
572
**参数**
Y
yangbo 已提交
573

Z
zhang-daiyue 已提交
574 575 576
| 参数名   | 类型                      | 必填 | 说明       |
| -------- | ------------------------- | ---- | ---------- |
| uri | string | 是   | 媒体文件uri |
Y
yangbo 已提交
577

Z
zengyawen 已提交
578
**返回值:**
Y
yangbo 已提交
579

Z
zhang-daiyue 已提交
580 581 582
| 类型                                    | 说明              |
| --------------------------------------- | ----------------- |
| Promise<void>| 回调返回空 |
Y
yangbo 已提交
583

Z
zhang-daiyue 已提交
584
**示例**
Y
yangbo 已提交
585 586

```ts
H
huweiqi 已提交
587 588
import dataSharePredicates from '@ohos.data.dataSharePredicates';

Z
zhang-daiyue 已提交
589
async function example() {
H
huweiqi 已提交
590
  console.info('deleteDemo');
Z
zhang-daiyue 已提交
591 592 593 594 595 596 597 598 599
  let predicates = new dataSharePredicates.DataSharePredicates();
  let fetchOptions = {
    fetchColumns: [],
    predicates: predicates
  };
  try {
    const fetchResult = await mgr.getPhotoAssets(fetchOptions);
    var asset = await fetchResult.getFirstObject();
  } catch (err) {
H
huweiqi 已提交
600
    console.info('fetch failed, message =', err);
Z
zhang-daiyue 已提交
601 602 603
  }

  if (asset == undefined) {
H
huweiqi 已提交
604
    console.error('asset not exist');
Z
zhang-daiyue 已提交
605 606 607 608 609 610
    return;
  }
  try {
    await mgr.delete(asset.uri);
    console.info("delete successfully");
  } catch (err) {
H
huweiqi 已提交
611
    console.error("delete failed with error: " + err);
Z
zhang-daiyue 已提交
612
  }
Y
yangbo 已提交
613 614 615
}
```

Z
zhang-daiyue 已提交
616
### on
Y
yangbo 已提交
617

Z
zhang-daiyue 已提交
618
on(type: ChangeEvent, callback: Callback<void>): void
Y
yangbo 已提交
619

Z
zhang-daiyue 已提交
620
打开文件管理库变更通知,使用callback方式返回异步结果。
李云帆 已提交
621 622

**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
Y
yangbo 已提交
623 624 625

**参数:**

Z
zhang-daiyue 已提交
626 627 628 629
| 参数名   | 类型                 | 必填 | 说明                                                         |
| -------- | -------------------- | ---- | ------------------------------------------------------------ |
| type     | [ChangeEvent](#changeevent)               | 是   | 媒体类型 <br/>'deviceChange':&nbsp;注册设备变更 <br/>'albumChange':&nbsp;相册变更<br/>'imageChange':&nbsp;图片文件变更<br/>'audioChange': &nbsp;音频文件变更<br/>'videoChange':  &nbsp;视频文件变更<br/>'remoteFileChange':&nbsp;注册设备上文件变更 |
| callback | Callback&lt;void&gt; | 是   | 回调返回空                                                   |
Y
yangbo 已提交
630 631 632 633

**示例:**

```ts
Z
zhang-daiyue 已提交
634
async function example() {
H
huweiqi 已提交
635
  console.info('onDemo');
H
huweiqi 已提交
636 637 638 639 640 641 642 643 644 645 646
  let count = 0;
  mgr.on('imageChange', () => {
    count++;
    // image file had changed, do something
  });
  try {
    let testFileName = "testFile" + Date.now() + ".jpg";
    let fileAsset = await mgr.createPhotoAsset(testFileName);
    console.info('createPhotoAsset file displayName' + fileAsset.displayName);
    console.info('createPhotoAsset successfully');
  } catch (err) {
H
huweiqi 已提交
647
    console.error('createPhotoAsset failed, message = ' + err);
H
huweiqi 已提交
648 649 650 651 652
  }
  //sleep 1s
  if (count > 0) {
    console.info("onDemo success");
  } else {
H
huweiqi 已提交
653
    console.error("onDemo fail");
H
huweiqi 已提交
654 655 656 657
  }
  mgr.off('imageChange', () => {
    // stop listening success
  });
Y
yangbo 已提交
658 659 660
}
```

Z
zhang-daiyue 已提交
661
### off
Y
yangbo 已提交
662

Z
zhang-daiyue 已提交
663
off(type: ChangeEvent, callback?: Callback&lt;void&gt;): void
Y
yangbo 已提交
664

Z
zhang-daiyue 已提交
665
关闭文件管理库变更通知,使用callback方式返回异步结果。
李云帆 已提交
666 667

**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
Y
yangbo 已提交
668 669 670

**参数:**

Z
zhang-daiyue 已提交
671 672 673 674
| 参数名   | 类型                 | 必填 | 说明                                                         |
| -------- | -------------------- | ---- | ------------------------------------------------------------ |
| type     | [ChangeEvent](#changeevent)               | 是   | 媒体类型 <br/>'deviceChange':&nbsp;注册设备变更 <br/>'albumChange':&nbsp;相册变更<br/>'imageChange':&nbsp;图片文件变更<br/>'audioChange': &nbsp;音频文件变更<br/>'videoChange':  &nbsp;视频文件变更<br/>'remoteFileChange':&nbsp;注册设备上文件变更 |
| callback | Callback&lt;void&gt; | 否   | 回调返回空                                                   |
Y
yangbo 已提交
675 676 677 678

**示例:**

```ts
Z
zhang-daiyue 已提交
679
async function example() {
H
huweiqi 已提交
680
  console.info('offDemo');
H
huweiqi 已提交
681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696
  let count = 0;
  mgr.on('imageChange', () => {
    count++;
    // image file had changed, do something
  });

  mgr.off('imageChange', () => {
    // stop listening success
  });

  try {
    let testFileName = "testFile" + Date.now() + ".jpg";
    let fileAsset = await mgr.createPhotoAsset(testFileName);
    console.info('createPhotoAsset file displayName' + fileAsset.displayName);
    console.info('createPhotoAsset successfully');
  } catch (err) {
H
huweiqi 已提交
697
    console.error('createPhotoAsset failed, message = ' + err);
H
huweiqi 已提交
698 699 700 701 702
  }
  //sleep 1s
  if (count == 0) {
    console.info("offDemo success");
  } else {
H
huweiqi 已提交
703
    console.error("offDemo fail");
H
huweiqi 已提交
704
  }
Y
yangbo 已提交
705 706 707 708 709
}
```

### getActivePeers

Z
zhang-daiyue 已提交
710
getActivePeers(callback: AsyncCallback&lt;Array&lt;PeerInfo&gt;&gt;): void;
Y
yangbo 已提交
711 712 713 714 715 716 717 718 719

获取在线对端设备的信息,使用callback方式返回异步结果。

**系统能力**:SystemCapability.FileManagement.UserFileManager.DistributedCore

**参数:**

| 参数名   | 类型                              | 必填 | 说明         |
| -------- | --------------------------------- | ---- | ------------ |
Z
zhang-daiyue 已提交
720
| callback | AsyncCallback&lt;Array&lt;[PeerInfo](#peerinfo)&gt;&gt; | 是   | 返回在线设备列表 |
Y
yangbo 已提交
721 722 723 724

**示例:**

```ts
Z
zhang-daiyue 已提交
725
async function example() {
H
huweiqi 已提交
726
  console.info('getActivePeersDemo');
Z
zhang-daiyue 已提交
727 728
  mgr.getActivePeers((err, devicesInfo) => {
    if (devicesInfo != undefined) {
H
huweiqi 已提交
729
      console.log('getActivePeers succeed.');
Z
zhang-daiyue 已提交
730 731 732 733
      for (let i = 0; i < devicesInfo.length; i++) {
        console.info('get distributed info ' + devicesInfo[i].deviceName + devicesInfo[i].networkId);
      }
    } else {
H
huweiqi 已提交
734
      console.error('getActivePeers failed. message = ', err);
Z
zhang-daiyue 已提交
735 736
    }
  });
Y
yangbo 已提交
737 738 739 740 741
}
```

### getActivePeers

Z
zhang-daiyue 已提交
742
getActivePeers(): Promise&lt;Array&lt;PeerInfo&gt;&gt;;
Y
yangbo 已提交
743 744 745 746 747 748 749 750 751

获取在线对端设备的信息,使用promise方式返回异步结果。

**系统能力**:SystemCapability.FileManagement.UserFileManager.DistributedCore

**返回值:**

| 类型                        | 说明                          |
| --------------------------- | ----------------------------- |
Z
zhang-daiyue 已提交
752
| Promise&lt;Array&lt;[PeerInfo](#peerinfo)&gt;&gt; | Promise实例,返回在线设备列表 |
Y
yangbo 已提交
753 754 755 756

**示例:**

```ts
Z
zhang-daiyue 已提交
757
async function example() {
H
huweiqi 已提交
758
  console.info('getActivePeersDemo');
Z
zhang-daiyue 已提交
759 760 761
  try {
    var devicesInfo = await mgr.getActivePeers();
  } catch (err) {
H
huweiqi 已提交
762
    console.error('getActivePeers failed. message = ', err);
Z
zhang-daiyue 已提交
763 764
  }
  if (devicesInfo != undefined) {
H
huweiqi 已提交
765
    console.log('getActivePeers succeed.');
Z
zhang-daiyue 已提交
766 767
    for (let i = 0; i < devicesInfo.length; i++) {
      console.info('get distributed info ' + devicesInfo[i].deviceName + devicesInfo[i].networkId);
Y
yangbo 已提交
768
    }
Z
zhang-daiyue 已提交
769
  } else {
H
huweiqi 已提交
770
    console.error('get distributed fail');
Z
zhang-daiyue 已提交
771
  }
Y
yangbo 已提交
772 773 774 775 776
}
```

### getAllPeers

Z
zhang-daiyue 已提交
777
getAllPeers(callback: AsyncCallback&lt;Array&lt;PeerInfo&gt;&gt;): void;
Y
yangbo 已提交
778 779 780 781 782 783 784 785 786

获取所有对端设备的信息,使用callback方式返回异步结果。

**系统能力**:SystemCapability.FileManagement.UserFileManager.DistributedCore

**参数:**

| 参数名   | 类型                              | 必填 | 说明         |
| -------- | --------------------------------- | ---- | ------------ |
Z
zhang-daiyue 已提交
787
| callback | AsyncCallback&lt;Array&lt;[PeerInfo](#peerinfo)&gt;&gt; | 是   | 返回在线设备列表 |
Y
yangbo 已提交
788 789 790 791

**示例:**

```ts
Z
zhang-daiyue 已提交
792
async function example() {
H
huweiqi 已提交
793
  console.info('getAllPeersDemo');
Z
zhang-daiyue 已提交
794 795
  mgr.getAllPeers((err, devicesInfo) => {
    if (devicesInfo != undefined) {
H
huweiqi 已提交
796
      console.log('getAllPeers succeed.');
Z
zhang-daiyue 已提交
797 798 799 800
      for (let i = 0; i < devicesInfo.length; i++) {
        console.info('get distributed info ' + devicesInfo[i].deviceName + devicesInfo[i].networkId);
      }
    } else {
H
huweiqi 已提交
801
      console.error('getAllPeers failed. message = ', err);
Z
zhang-daiyue 已提交
802 803
    }
  });
Y
yangbo 已提交
804 805 806 807 808
}
```

### getAllPeers

Z
zhang-daiyue 已提交
809
getAllPeers(): Promise&lt;Array&lt;PeerInfo&gt;&gt;;
Y
yangbo 已提交
810 811 812 813 814 815 816 817 818

获取所有对端设备的信息,使用promise方式返回异步结果。

**系统能力**:SystemCapability.FileManagement.UserFileManager.DistributedCore

**返回值:**

| 类型                        | 说明                          |
| --------------------------- | ----------------------------- |
Z
zhang-daiyue 已提交
819
| Promise&lt;Array&lt;[PeerInfo](#peerinfo)&gt;&gt; | Promise实例,返回所有设备列表 |
Y
yangbo 已提交
820 821 822 823

**示例:**

```ts
Z
zhang-daiyue 已提交
824
async function example() {
H
huweiqi 已提交
825
  console.info('getAllPeersDemo');
Z
zhang-daiyue 已提交
826 827 828
  try {
    var devicesInfo = await mgr.getAllPeers();
  } catch (err) {
H
huweiqi 已提交
829
    console.error('getAllPeers failed. message = ', err);
Z
zhang-daiyue 已提交
830 831
  }
  if (devicesInfo != undefined) {
H
huweiqi 已提交
832
    console.log('getAllPeers succeed.');
Z
zhang-daiyue 已提交
833 834
    for (let i = 0; i < devicesInfo.length; i++) {
      console.info('get distributed info ' + devicesInfo[i].deviceName + devicesInfo[i].networkId);
Y
yangbo 已提交
835
    }
Z
zhang-daiyue 已提交
836
  } else {
H
huweiqi 已提交
837
    console.error('get distributed fail');
Z
zhang-daiyue 已提交
838
  }
Y
yangbo 已提交
839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859
}
```

### release

release(callback: AsyncCallback&lt;void&gt;): void

释放UserFileManager实例。
当后续不需要使用UserFileManager实例中的方法时调用。

**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

**参数:**

| 参数名   | 类型                      | 必填 | 说明                 |
| -------- | ------------------------- | ---- | -------------------- |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调表示成功还是失败 |

**示例:**

```ts
Z
zhang-daiyue 已提交
860 861 862 863
async function example() {
  console.info('releaseDemo');
  mgr.release((err) => {
    if (err != undefined) {
H
huweiqi 已提交
864
      console.error('release failed. message = ', err);
Z
zhang-daiyue 已提交
865 866 867
    } else {
      console.info('release ok.');
    }
H
huweiqi 已提交
868
  });
Y
yangbo 已提交
869 870 871 872 873 874 875 876 877 878
}
```

### release

release(): Promise&lt;void&gt;

释放UserFileManager实例。
当后续不需要使用UserFileManager 实例中的方法时调用。

李云帆 已提交
879
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
Y
yangbo 已提交
880 881 882 883 884 885 886 887 888 889

**返回值:**

| 类型                | 说明                              |
| ------------------- | --------------------------------- |
| Promise&lt;void&gt; | Promise实例,用于获取异步返回结果 |

**示例:**

```ts
Z
zhang-daiyue 已提交
890 891 892 893 894 895
async function example() {
  console.info('releaseDemo');
  try {
    await mgr.release();
    console.info('release ok.');
  } catch (err) {
H
huweiqi 已提交
896
    console.error('release failed. message = ', err);
Z
zhang-daiyue 已提交
897
  }
Y
yangbo 已提交
898 899 900 901 902 903 904 905 906 907 908 909 910 911
}
```

## FileAsset

提供封装文件属性的方法。

### 属性

**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core

| 名称                      | 类型                     | 可读 | 可写 | 说明                                                   |
| ------------------------- | ------------------------ | ---- | ---- | ------------------------------------------------------ |
| uri                       | string                   | 是   | 否   | 文件资源uri(如:dataability:///media/image/2)         |
Z
zhang-daiyue 已提交
912
| fileType   | [FileType](#filetype) | 是   | 否   | 媒体文件类型                                               |
Y
yangbo 已提交
913 914 915
| displayName               | string                   | 是   | 是   | 显示文件名,包含后缀名                                 |


Z
zhang-daiyue 已提交
916
### get
Y
yangbo 已提交
917

Z
zhang-daiyue 已提交
918
get(member: string): MemberType;
Y
yangbo 已提交
919

H
huweiqi 已提交
920
获取FileAsset成员参数。
Y
yangbo 已提交
921 922 923 924 925

**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

**参数:**

Z
zhang-daiyue 已提交
926 927 928
| 参数名      | 类型                        | 必填   | 说明    |
| -------- | ------------------------- | ---- | ----- |
| member | string | 是    | 成员参数名称例如:ImageVideoKey.URI |
Y
yangbo 已提交
929 930

**示例:**
H
huweiqi 已提交
931

Z
zhang-daiyue 已提交
932
```ts
H
huweiqi 已提交
933 934
import dataSharePredicates from '@ohos.data.dataSharePredicates';

Y
yangbo 已提交
935
async function example() {
H
huweiqi 已提交
936
  console.info('fileAssetGetDemo');
Z
zhang-daiyue 已提交
937 938 939 940 941
  try {
    let predicates = new dataSharePredicates.DataSharePredicates();
    let fetchOption = {
      fetchColumns: [],
      predicates: predicates
Y
yangbo 已提交
942
    };
Z
zhang-daiyue 已提交
943 944
    let fetchResult = await mgr.getPhotoAssets(fetchOption);
    let fileAsset = await fetchResult.getFirstObject();
H
huweiqi 已提交
945 946
    let title = userFileManager.ImageVideoKey.TITLE;
    let fileAssetTitle = fileAsset.get(title.toString());
Z
zhang-daiyue 已提交
947 948
    console.info('fileAsset Get fileAssetTitle = ', fileAssetTitle);
  } catch (err) {
H
huweiqi 已提交
949
    console.error('release failed. message = ', err);
Z
zhang-daiyue 已提交
950
  }
Y
yangbo 已提交
951 952 953
}
```

Z
zhang-daiyue 已提交
954
### set
Y
yangbo 已提交
955

Z
zhang-daiyue 已提交
956
set(member: string, value: string): void;
Y
yangbo 已提交
957

H
huweiqi 已提交
958
设置FileAsset成员参数。
Y
yangbo 已提交
959 960 961

**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

Z
zhang-daiyue 已提交
962
**参数:**
Y
yangbo 已提交
963

Z
zhang-daiyue 已提交
964 965 966 967
| 参数名      | 类型                        | 必填   | 说明    |
| -------- | ------------------------- | ---- | ----- |
| member | string | 是    | 成员参数名称例如:ImageVideoKey.URI |
| value | string | 是    | 设置成员参数名称,只能修改ImageVideoKey.TITLE的值 |
Y
yangbo 已提交
968 969

**示例:**
H
huweiqi 已提交
970

Z
zhang-daiyue 已提交
971
```ts
H
huweiqi 已提交
972 973
import dataSharePredicates from '@ohos.data.dataSharePredicates';

Y
yangbo 已提交
974
async function example() {
H
huweiqi 已提交
975
  console.info('fileAssetSetDemo');
Z
zhang-daiyue 已提交
976 977 978 979 980
  try {
    let predicates = new dataSharePredicates.DataSharePredicates();
    let fetchOption = {
      fetchColumns: [],
      predicates: predicates
Y
yangbo 已提交
981
    };
Z
zhang-daiyue 已提交
982 983
    let fetchResult = await mgr.getPhotoAssets(fetchOption);
    let fileAsset = await fetchResult.getFirstObject();
H
huweiqi 已提交
984 985
    let title = userFileManager.ImageVideoKey.TITLE;
    fileAsset.set(title.toString(), "newTitle");
Z
zhang-daiyue 已提交
986
  } catch (err) {
H
huweiqi 已提交
987
    console.error('release failed. message = ', err);
Z
zhang-daiyue 已提交
988
  }
Y
yangbo 已提交
989 990 991 992 993 994 995 996 997
}
```

### commitModify

commitModify(callback: AsyncCallback&lt;void&gt;): void

修改文件的元数据,使用callback方式返回异步结果。

Z
zhang-daiyue 已提交
998
**需要权限**:ohos.permission.WRITE_IMAGEVIDEO 或 ohos.permission.WRITE_AUDIO
Y
yangbo 已提交
999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009

**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

**参数:**

| 参数名      | 类型                        | 必填   | 说明    |
| -------- | ------------------------- | ---- | ----- |
| callback | AsyncCallback&lt;void&gt; | 是    | 回调返回空 |

**示例:**

Z
zhang-daiyue 已提交
1010
```ts
H
huweiqi 已提交
1011 1012
import dataSharePredicates from '@ohos.data.dataSharePredicates';

Y
yangbo 已提交
1013
async function example() {
H
huweiqi 已提交
1014
  console.info('commitModifyDemo');
Z
zhang-daiyue 已提交
1015 1016 1017 1018 1019 1020 1021
  let predicates = new dataSharePredicates.DataSharePredicates();
  let fetchOption = {
    fetchColumns: [],
    predicates: predicates
  };
  let fetchResult = await mgr.getPhotoAssets(fetchOption);
  let fileAsset = await fetchResult.getFirstObject();
H
huweiqi 已提交
1022 1023
  let title = userFileManager.ImageVideoKey.TITLE;
  let fileAssetTitle = fileAsset.get(title.toString());
Z
zhang-daiyue 已提交
1024
  console.info('fileAsset Get fileAssetTitle = ', fileAssetTitle);
H
huweiqi 已提交
1025
  fileAsset.set(title.toString(), "newTitle");
Z
zhang-daiyue 已提交
1026 1027
  fileAsset.commitModify((err) => {
    if (err == undefined) {
H
huweiqi 已提交
1028
      let newFileAssetTitle = fileAsset.get(title.toString());
Z
zhang-daiyue 已提交
1029 1030
      console.info('fileAsset Get newFileAssetTitle = ', newFileAssetTitle);
    } else {
H
huweiqi 已提交
1031
      console.error('commitModify failed, message =', err);
Z
zhang-daiyue 已提交
1032 1033
    }
  });
Y
yangbo 已提交
1034 1035 1036 1037 1038 1039 1040 1041 1042
}
```

### commitModify

commitModify(): Promise&lt;void&gt;

修改文件的元数据,使用promise方式返回异步结果。

Z
zhang-daiyue 已提交
1043
**需要权限**:ohos.permission.WRITE_IMAGEVIDEO 或 ohos.permission.WRITE_AUDIO
Y
yangbo 已提交
1044 1045 1046 1047 1048 1049 1050 1051 1052

**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

**返回值:**

| 类型                  | 说明         |
| ------------------- | ---------- |
| Promise&lt;void&gt; | Promise返回空 |

Z
zhang-daiyue 已提交
1053
**示例:**  
Y
yangbo 已提交
1054

Z
zhang-daiyue 已提交
1055
```ts
H
huweiqi 已提交
1056 1057
import dataSharePredicates from '@ohos.data.dataSharePredicates';

Y
yangbo 已提交
1058
async function example() {
H
huweiqi 已提交
1059
  console.info('commitModifyDemo');
Z
zhang-daiyue 已提交
1060 1061 1062 1063 1064 1065 1066
  let predicates = new dataSharePredicates.DataSharePredicates();
  let fetchOption = {
    fetchColumns: [],
    predicates: predicates
  };
  let fetchResult = await mgr.getPhotoAssets(fetchOption);
  let fileAsset = await fetchResult.getFirstObject();
H
huweiqi 已提交
1067 1068
  let title = userFileManager.ImageVideoKey.TITLE;
  let fileAssetTitle = fileAsset.get(title.toString());
Z
zhang-daiyue 已提交
1069
  console.info('fileAsset Get fileAssetTitle = ', fileAssetTitle);
H
huweiqi 已提交
1070
  fileAsset.set(title.toString(), "newTitle");
Z
zhang-daiyue 已提交
1071
  try {
H
huweiqi 已提交
1072 1073
    await fileAsset.commitModify();
    let newFileAssetTitle = fileAsset.get(title.toString());
Z
zhang-daiyue 已提交
1074 1075
    console.info('fileAsset Get newFileAssetTitle = ', newFileAssetTitle);
  } catch (err) {
H
huweiqi 已提交
1076
    console.error('release failed. message = ', err);
Z
zhang-daiyue 已提交
1077
  }
Y
yangbo 已提交
1078 1079 1080 1081 1082 1083 1084 1085 1086
}
```

### open

open(mode: string, callback: AsyncCallback&lt;number&gt;): void

打开当前文件,使用callback方式返回异步结果。

H
huweiqi 已提交
1087
**注意**:当前写操作是互斥的操作,写操作完成后需要调用close进行释放。
Y
yangbo 已提交
1088

H
huweiqi 已提交
1089
**需要权限**:ohos.permission.READ_IMAGEVIDEO 或 ohos.permission.READ_AUDIO 或 ohos.permission.WRITE_IMAGEVIDEO 或 ohos.permission.WRITE_AUDIO
Y
yangbo 已提交
1090 1091 1092 1093 1094 1095 1096 1097

**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

**参数**

| 参数名      | 类型                          | 必填   | 说明                                  |
| -------- | --------------------------- | ---- | ----------------------------------- |
| mode     | string                      | 是    | 打开文件方式,如:'r'(只读), 'w'(只写), 'rw'(读写) |
1098
| callback | AsyncCallback&lt;number&gt; | 是    | 回调返回文件描述符                            |
Y
yangbo 已提交
1099 1100 1101

**示例:**

Z
zhang-daiyue 已提交
1102
```ts
Y
yangbo 已提交
1103
async function example() {
H
huweiqi 已提交
1104
  console.info('openDemo');
H
huweiqi 已提交
1105 1106
   let testFileName = "testFile" + Date.now() + ".jpg";
  const fileAsset = await mgr.createPhotoAsset(testFileName);
Z
zhang-daiyue 已提交
1107 1108 1109
  fileAsset.open('rw', (err, fd) => {
    if (fd != undefined) {
      console.info('File fd' + fd);
H
huweiqi 已提交
1110
      fileAsset.close(fd);
Z
zhang-daiyue 已提交
1111
    } else {
H
huweiqi 已提交
1112
      console.error('File err' + err);
Z
zhang-daiyue 已提交
1113 1114
    }
  });
Y
yangbo 已提交
1115 1116 1117 1118 1119 1120 1121 1122 1123
}
```

### open

open(mode: string): Promise&lt;number&gt;

打开当前文件,使用promise方式返回异步结果。

H
huweiqi 已提交
1124
**注意**:当前写操作是互斥的操作,写操作完成后需要调用close进行释放。
Y
yangbo 已提交
1125

H
huweiqi 已提交
1126
**需要权限**:ohos.permission.READ_IMAGEVIDEO 或 ohos.permission.READ_AUDIO 或 ohos.permission.WRITE_IMAGEVIDEO 或 ohos.permission.WRITE_AUDIO
Y
yangbo 已提交
1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139

**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

**参数:**

| 参数名  | 类型     | 必填   | 说明                                  |
| ---- | ------ | ---- | ----------------------------------- |
| mode | string | 是    | 打开文件方式,如:'r'(只读), 'w'(只写), 'rw'(读写) |

**返回值:**

| 类型                    | 说明            |
| --------------------- | ------------- |
1140
| Promise&lt;number&gt; | Promise返回文件描述符 |
Y
yangbo 已提交
1141 1142 1143

**示例:**

Z
zhang-daiyue 已提交
1144
```ts
Y
yangbo 已提交
1145
async function example() {
H
huweiqi 已提交
1146
  console.info('openDemo');
Z
zhang-daiyue 已提交
1147
  try {
H
huweiqi 已提交
1148 1149
    let testFileName = "testFile" + Date.now() + ".jpg";
    const fileAsset = await mgr.createPhotoAsset(testFileName);
H
huweiqi 已提交
1150
    let fd = await fileAsset.open('rw');
Z
zhang-daiyue 已提交
1151 1152
    if (fd != undefined) {
      console.info('File fd' + fd);
H
huweiqi 已提交
1153
      fileAsset.close(fd);
Z
zhang-daiyue 已提交
1154
    } else {
H
huweiqi 已提交
1155
      console.error(' open File fail');
Z
zhang-daiyue 已提交
1156 1157
    }
  } catch (err) {
H
huweiqi 已提交
1158
    console.error('open Demo err' + err);
Z
zhang-daiyue 已提交
1159
  }
Y
yangbo 已提交
1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179
}
```

### close

close(fd: number, callback: AsyncCallback&lt;void&gt;): void

关闭当前文件,使用callback方式返回异步结果。

**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

**参数:**

| 参数名      | 类型                        | 必填   | 说明    |
| -------- | ------------------------- | ---- | ----- |
| fd       | number                    | 是    | 文件描述符 |
| callback | AsyncCallback&lt;void&gt; | 是    | 回调返回空 |

**示例:**

Z
zhang-daiyue 已提交
1180
```ts
H
huweiqi 已提交
1181 1182
import dataSharePredicates from '@ohos.data.dataSharePredicates';

Y
yangbo 已提交
1183
async function example() {
H
huweiqi 已提交
1184
  console.info('closeDemo');
Z
zhang-daiyue 已提交
1185 1186 1187 1188 1189
  try {
    let predicates = new dataSharePredicates.DataSharePredicates();
    let fetchOption = {
      fetchColumns: [],
      predicates: predicates
Y
yangbo 已提交
1190
    };
Z
zhang-daiyue 已提交
1191 1192 1193 1194 1195 1196 1197 1198
    let fetchResult = await mgr.getPhotoAssets(fetchOption);
    const fileAsset = await fetchResult.getFirstObject();
    let fd = await fileAsset.open('rw');
    console.info('file fd', fd);
    fileAsset.close(fd, (err) => {
      if (err == undefined) {
        console.info('asset close succeed.');
      } else {
H
huweiqi 已提交
1199
        console.error('close failed, message = ' + err);
Z
zhang-daiyue 已提交
1200
      }
Y
yangbo 已提交
1201
    });
Z
zhang-daiyue 已提交
1202
  } catch (err) {
H
huweiqi 已提交
1203
    console.error('close failed, message = ' + err);
Z
zhang-daiyue 已提交
1204
  }
Y
yangbo 已提交
1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229
}
```

### close

close(fd: number): Promise&lt;void&gt;

关闭当前文件,使用promise方式返回异步结果。

**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

**参数:**

| 参数名  | 类型     | 必填   | 说明    |
| ---- | ------ | ---- | ----- |
| fd   | number | 是    | 文件描述符 |

**返回值:**

| 类型                  | 说明         |
| ------------------- | ---------- |
| Promise&lt;void&gt; | Promise返回空 |

**示例:**

Z
zhang-daiyue 已提交
1230
```ts
H
huweiqi 已提交
1231 1232
import dataSharePredicates from '@ohos.data.dataSharePredicates';

Y
yangbo 已提交
1233
async function example() {
H
huweiqi 已提交
1234
  console.info('closeDemo');
Z
zhang-daiyue 已提交
1235 1236 1237 1238 1239
  try {
    let predicates = new dataSharePredicates.DataSharePredicates();
    let fetchOption = {
      fetchColumns: [],
      predicates: predicates
Y
yangbo 已提交
1240
    };
Z
zhang-daiyue 已提交
1241 1242 1243 1244
    let fetchResult = await mgr.getPhotoAssets(fetchOption);
    const asset = await fetchResult.getFirstObject();
    let fd = await asset.open('rw');
    console.info('file fd', fd);
H
huweiqi 已提交
1245
    await asset.close(fd);
Z
zhang-daiyue 已提交
1246 1247
    console.info('asset close succeed.');
  } catch (err) {
H
huweiqi 已提交
1248
    console.error('close failed, message = ' + err);
Z
zhang-daiyue 已提交
1249
  }
Y
yangbo 已提交
1250 1251 1252 1253 1254 1255 1256 1257 1258
}
```

### getThumbnail

getThumbnail(callback: AsyncCallback&lt;image.PixelMap&gt;): void

获取文件的缩略图,使用callback方式返回异步结果。

Z
zhang-daiyue 已提交
1259
**需要权限**:ohos.permission.READ_IMAGEVIDEO 或 ohos.permission.READ_AUDIO
Y
yangbo 已提交
1260 1261 1262 1263 1264 1265 1266

**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

**参数:**

| 参数名      | 类型                                  | 必填   | 说明               |
| -------- | ----------------------------------- | ---- | ---------------- |
Z
zengyawen 已提交
1267
| callback | AsyncCallback&lt;[image.PixelMap](js-apis-image.md#pixelmap7)&gt; | 是    | 回调返回缩略图的PixelMap |
Y
yangbo 已提交
1268 1269 1270

**示例:**

Z
zhang-daiyue 已提交
1271
```ts
H
huweiqi 已提交
1272 1273
import dataSharePredicates from '@ohos.data.dataSharePredicates';

Y
yangbo 已提交
1274
async function example() {
H
huweiqi 已提交
1275
  console.info('getThumbnailDemo');
Z
zhang-daiyue 已提交
1276 1277 1278 1279 1280 1281 1282
  let predicates = new dataSharePredicates.DataSharePredicates();
  let fetchOption = {
    fetchColumns: [],
    predicates: predicates
  };
  let fetchResult = await mgr.getPhotoAssets(fetchOption);
  const asset = await fetchResult.getFirstObject();
H
huweiqi 已提交
1283
  console.info('asset displayName = ', asset.displayName);
Z
zhang-daiyue 已提交
1284 1285 1286 1287
  asset.getThumbnail((err, pixelMap) => {
    if (err == undefined) {
      console.info('getThumbnail successful ' + pixelMap);
    } else {
H
huweiqi 已提交
1288
      console.error('getThumbnail fail', err);
Z
zhang-daiyue 已提交
1289 1290
    }
  });
Y
yangbo 已提交
1291 1292 1293 1294 1295
}
```

### getThumbnail

H
huweiqi 已提交
1296
getThumbnail(size: image.Size, callback: AsyncCallback&lt;image.PixelMap&gt;): void
Y
yangbo 已提交
1297 1298 1299

获取文件的缩略图,传入缩略图尺寸,使用callback方式返回异步结果。

Z
zhang-daiyue 已提交
1300
**需要权限**:ohos.permission.READ_IMAGEVIDEO 或 ohos.permission.READ_AUDIO
Y
yangbo 已提交
1301 1302 1303 1304 1305 1306 1307

**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

**参数:**

| 参数名      | 类型                                  | 必填   | 说明               |
| -------- | ----------------------------------- | ---- | ---------------- |
1308
| size     | [image.Size](js-apis-image.md#size) | 是    | 缩略图尺寸            |
Z
zengyawen 已提交
1309
| callback | AsyncCallback&lt;[image.PixelMap](js-apis-image.md#pixelmap7)&gt; | 是    | 回调返回缩略图的PixelMap |
Y
yangbo 已提交
1310 1311 1312

**示例:**

Z
zhang-daiyue 已提交
1313
```ts
H
huweiqi 已提交
1314 1315
import dataSharePredicates from '@ohos.data.dataSharePredicates';

Y
yangbo 已提交
1316
async function example() {
H
huweiqi 已提交
1317
  console.info('getThumbnailDemo');
Z
zhang-daiyue 已提交
1318 1319 1320 1321 1322 1323 1324 1325
  let predicates = new dataSharePredicates.DataSharePredicates();
  let fetchOption = {
    fetchColumns: [],
    predicates: predicates
  };
  let size = { width: 720, height: 720 };
  let fetchResult = await mgr.getPhotoAssets(fetchOption);
  const asset = await fetchResult.getFirstObject();
H
huweiqi 已提交
1326
  console.info('asset displayName = ', asset.displayName);
Z
zhang-daiyue 已提交
1327 1328 1329 1330
  asset.getThumbnail(size, (err, pixelMap) => {
    if (err == undefined) {
      console.info('getThumbnail successful ' + pixelMap);
    } else {
H
huweiqi 已提交
1331
      console.error('getThumbnail fail', err);
Y
yangbo 已提交
1332
    }
Z
zhang-daiyue 已提交
1333
  });
Y
yangbo 已提交
1334 1335 1336
}
```

Z
zhang-daiyue 已提交
1337
### getThumbnail
Y
yangbo 已提交
1338

H
huweiqi 已提交
1339
getThumbnail(size?: image.Size): Promise&lt;image.PixelMap&gt;
Y
yangbo 已提交
1340

Z
zhang-daiyue 已提交
1341
获取文件的缩略图,传入缩略图尺寸,使用promise方式返回异步结果。
Y
yangbo 已提交
1342

Z
zhang-daiyue 已提交
1343
**需要权限**:ohos.permission.READ_IMAGEVIDEO 或 ohos.permission.READ_AUDIO
Y
yangbo 已提交
1344 1345 1346 1347 1348

**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

**参数:**

Z
zhang-daiyue 已提交
1349 1350
| 参数名  | 类型             | 必填   | 说明    |
| ---- | -------------- | ---- | ----- |
1351
| size | [image.Size](js-apis-image.md#size) | 否    | 缩略图尺寸 |
Y
yangbo 已提交
1352 1353 1354

**返回值:**

Z
zhang-daiyue 已提交
1355 1356
| 类型                            | 说明                    |
| ----------------------------- | --------------------- |
Z
zengyawen 已提交
1357
| Promise&lt;[image.PixelMap](js-apis-image.md#pixelmap7)&gt; | Promise返回缩略图的PixelMap |
Y
yangbo 已提交
1358 1359 1360

**示例:**

Z
zhang-daiyue 已提交
1361
```ts
H
huweiqi 已提交
1362 1363
import dataSharePredicates from '@ohos.data.dataSharePredicates';

Y
yangbo 已提交
1364
async function example() {
H
huweiqi 已提交
1365
  console.info('getThumbnailDemo');
Z
zhang-daiyue 已提交
1366 1367 1368 1369 1370 1371 1372 1373
  let predicates = new dataSharePredicates.DataSharePredicates();
  let fetchOption = {
    fetchColumns: [],
    predicates: predicates
  };
  let size = { width: 720, height: 720 };
  let fetchResult = await mgr.getPhotoAssets(fetchOption);
  const asset = await fetchResult.getFirstObject();
H
huweiqi 已提交
1374
  console.info('asset displayName = ', asset.displayName);
Z
zhang-daiyue 已提交
1375 1376 1377
  asset.getThumbnail(size).then((pixelMap) => {
    console.info('getThumbnail successful ' + pixelMap);
  }).catch((err) => {
H
huweiqi 已提交
1378
    console.error('getThumbnail fail' + err);
Z
zhang-daiyue 已提交
1379
  });
Y
yangbo 已提交
1380 1381 1382
}
```

Z
zhang-daiyue 已提交
1383 1384 1385
### favorite

favorite(isFavorite: boolean, callback: AsyncCallback&lt;void&gt;): void
Y
yangbo 已提交
1386

Z
zhang-daiyue 已提交
1387
将文件设置为收藏文件,使用callback方式返回异步结果。
Y
yangbo 已提交
1388

Z
zhang-daiyue 已提交
1389
**需要权限**:ohos.permission.WRITE_IMAGEVIDEO 或 ohos.permission.WRITE_AUDIO
Y
yangbo 已提交
1390 1391 1392 1393 1394

**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

**参数:**

Z
zhang-daiyue 已提交
1395 1396 1397 1398
| 参数名        | 类型                        | 必填   | 说明                                 |
| ---------- | ------------------------- | ---- | ---------------------------------- |
| isFavorite | boolean                   | 是    | 是否设置为收藏文件, true:设置为收藏文件,false:取消收藏 |
| callback   | AsyncCallback&lt;void&gt; | 是    | 回调返回空                              |
Y
yangbo 已提交
1399 1400 1401

**示例:**

Z
zhang-daiyue 已提交
1402
```ts
H
huweiqi 已提交
1403 1404
import dataSharePredicates from '@ohos.data.dataSharePredicates';

Y
yangbo 已提交
1405
async function example() {
H
huweiqi 已提交
1406
  console.info('favoriteDemo');
Z
zhang-daiyue 已提交
1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417
  let predicates = new dataSharePredicates.DataSharePredicates();
  let fetchOption = {
    fetchColumns: [],
    predicates: predicates
  };
  let fetchResult = await mgr.getPhotoAssets(fetchOption);
  const asset = await fetchResult.getFirstObject();
  asset.favorite(true, (err) => {
    if (err == undefined) {
      console.info("favorite successfully");
    } else {
H
huweiqi 已提交
1418
      console.error("favorite failed with error:" + err);
Z
zhang-daiyue 已提交
1419 1420
    }
  });
Y
yangbo 已提交
1421 1422 1423
}
```

Z
zhang-daiyue 已提交
1424 1425 1426
### favorite

favorite(isFavorite: boolean): Promise&lt;void&gt;
Y
yangbo 已提交
1427

Z
zhang-daiyue 已提交
1428
将文件设置为收藏文件,使用promise方式返回异步结果。
Y
yangbo 已提交
1429

Z
zhang-daiyue 已提交
1430
**需要权限**:ohos.permission.WRITE_IMAGEVIDEO 或 ohos.permission.WRITE_AUDIO
Y
yangbo 已提交
1431 1432 1433

**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

Z
zhang-daiyue 已提交
1434 1435 1436 1437 1438 1439
**参数:**

| 参数名        | 类型      | 必填   | 说明                                 |
| ---------- | ------- | ---- | ---------------------------------- |
| isFavorite | boolean | 是    | 是否设置为收藏文件, true:设置为收藏文件,false:取消收藏 |

Y
yangbo 已提交
1440 1441
**返回值:**

Z
zhang-daiyue 已提交
1442 1443 1444
| 类型                  | 说明         |
| ------------------- | ---------- |
| Promise&lt;void&gt; | Promise返回空 |
Y
yangbo 已提交
1445 1446 1447

**示例:**

Z
zhang-daiyue 已提交
1448
```ts
H
huweiqi 已提交
1449 1450
import dataSharePredicates from '@ohos.data.dataSharePredicates';

Y
yangbo 已提交
1451
async function example() {
H
huweiqi 已提交
1452
  console.info('favoriteDemo');
Z
zhang-daiyue 已提交
1453 1454 1455 1456 1457 1458 1459 1460 1461 1462
  let predicates = new dataSharePredicates.DataSharePredicates();
  let fetchOption = {
    fetchColumns: [],
    predicates: predicates
  };
  let fetchResult = await mgr.getPhotoAssets(fetchOption);
  const asset = await fetchResult.getFirstObject();
  asset.favorite(true).then(function () {
    console.info("favorite successfully");
  }).catch(function (err) {
H
huweiqi 已提交
1463
    console.error("favorite failed with error:" + err);
Z
zhang-daiyue 已提交
1464
  });
Y
yangbo 已提交
1465 1466 1467
}
```

Z
zhang-daiyue 已提交
1468
## FetchResult
Y
yangbo 已提交
1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479

文件检索结果集。

### getCount

getCount(): number

获取文件检索结果中的文件总数。

**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

Z
zengyawen 已提交
1480
**返回值:**
Y
yangbo 已提交
1481 1482 1483 1484 1485 1486 1487

| 类型     | 说明       |
| ------ | -------- |
| number | 检索到的文件总数 |

**示例**

Z
zhang-daiyue 已提交
1488
```ts
H
huweiqi 已提交
1489 1490
import dataSharePredicates from '@ohos.data.dataSharePredicates';

Y
yangbo 已提交
1491
async function example() {
H
huweiqi 已提交
1492
  console.info('getCountDemo');
Z
zhang-daiyue 已提交
1493 1494 1495 1496 1497 1498 1499
  let predicates = new dataSharePredicates.DataSharePredicates();
  let fetchOption = {
    fetchColumns: [],
    predicates: predicates
  };
  let fetchResult = await mgr.getPhotoAssets(fetchOption);
  const fetchCount = fetchResult.getCount();
H
huweiqi 已提交
1500
  console.info('fetchCount = ', fetchCount);
Y
yangbo 已提交
1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511
}
```

### isAfterLast

isAfterLast(): boolean

检查结果集是否指向最后一行。

**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

Z
zengyawen 已提交
1512
**返回值:**
Y
yangbo 已提交
1513 1514 1515 1516 1517 1518 1519

| 类型      | 说明                                 |
| ------- | ---------------------------------- |
| boolean | 当读到最后一条记录后,后续没有记录返回true,否则返回false。 |

**示例**

Z
zhang-daiyue 已提交
1520
```ts
H
huweiqi 已提交
1521 1522
import dataSharePredicates from '@ohos.data.dataSharePredicates';

Y
yangbo 已提交
1523
async function example() {
Z
zhang-daiyue 已提交
1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537
  let predicates = new dataSharePredicates.DataSharePredicates();
  let fetchOption = {
    fetchColumns: [],
    predicates: predicates
  };
  let fetchResult = await mgr.getPhotoAssets(fetchOption);
  const fetchCount = fetchResult.getCount();
  console.info('count:' + fetchCount);
  let fileAsset = await fetchResult.getLastObject();
  if (!fetchResult.isAfterLast()) {
    console.info('fileAsset isAfterLast displayName = ', fileAsset.displayName);
  } else {
    console.info('fileAsset  not isAfterLast ');
  }
Y
yangbo 已提交
1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550
}
```

### close

close(): void

释放 FetchFileResult 实例并使其失效。无法调用其他方法。

**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

**示例**

Z
zhang-daiyue 已提交
1551
```ts
H
huweiqi 已提交
1552 1553
import dataSharePredicates from '@ohos.data.dataSharePredicates';

Y
yangbo 已提交
1554
async function example() {
H
huweiqi 已提交
1555
  console.info('fetchResultCloseDemo');
Z
zhang-daiyue 已提交
1556 1557 1558 1559 1560
  let predicates = new dataSharePredicates.DataSharePredicates();
  let fetchOption = {
    fetchColumns: [],
    predicates: predicates
  };
H
huweiqi 已提交
1561 1562 1563 1564 1565
  try {
    let fetchResult = await mgr.getPhotoAssets(fetchOption);
    await fetchResult.close();
    console.info('close succeed.');
  } catch (err) {
H
huweiqi 已提交
1566
    console.error('close fail. message = ' + err);
H
huweiqi 已提交
1567
  }
Y
yangbo 已提交
1568 1569 1570 1571 1572
}
```

### getFirstObject

Z
zhang-daiyue 已提交
1573
getFirstObject(callback: AsyncCallback&lt;T&gt;): void
Y
yangbo 已提交
1574

Z
zhang-daiyue 已提交
1575
获取文件检索结果中的第一个文件资产。此方法使用callback形式返回结果。
Y
yangbo 已提交
1576 1577 1578 1579 1580 1581 1582

**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

**参数**

| 参数名   | 类型                                          | 必填 | 说明                                        |
| -------- | --------------------------------------------- | ---- | ------------------------------------------- |
Z
zhang-daiyue 已提交
1583
| callback | AsyncCallback&lt;T&gt; | 是   | 异步获取结果集中的第一个完成后的回调 |
Y
yangbo 已提交
1584 1585 1586

**示例**

Z
zhang-daiyue 已提交
1587
```ts
H
huweiqi 已提交
1588 1589
import dataSharePredicates from '@ohos.data.dataSharePredicates';

Y
yangbo 已提交
1590
async function example() {
H
huweiqi 已提交
1591
  console.info('getFirstObjectDemo');
Z
zhang-daiyue 已提交
1592 1593 1594 1595 1596 1597 1598 1599
  let predicates = new dataSharePredicates.DataSharePredicates();
  let fetchOption = {
    fetchColumns: [],
    predicates: predicates
  };
  let fetchResult = await mgr.getPhotoAssets(fetchOption);
  fetchResult.getFirstObject((err, fileAsset) => {
    if (fileAsset != undefined) {
H
huweiqi 已提交
1600
      console.info('fileAsset displayName: ', fileAsset.displayName);
Z
zhang-daiyue 已提交
1601
    } else {
H
huweiqi 已提交
1602
      console.error("fileAsset failed with err:" + err);
Z
zhang-daiyue 已提交
1603 1604
    }
  });
Y
yangbo 已提交
1605 1606 1607 1608 1609
}
```

### getFirstObject

Z
zhang-daiyue 已提交
1610
getFirstObject(): Promise&lt;T&gt;
Y
yangbo 已提交
1611

Z
zhang-daiyue 已提交
1612
获取文件检索结果中的第一个文件资产。此方法使用promise方式来异步返回。
Y
yangbo 已提交
1613 1614 1615

**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

Z
zengyawen 已提交
1616
**返回值:**
Y
yangbo 已提交
1617 1618 1619

| 类型                                    | 说明                       |
| --------------------------------------- | -------------------------- |
H
huweiqi 已提交
1620
| Promise&lt;T&gt; | Promise方式返回 |
Y
yangbo 已提交
1621 1622 1623

**示例**

Z
zhang-daiyue 已提交
1624
```ts
H
huweiqi 已提交
1625 1626
import dataSharePredicates from '@ohos.data.dataSharePredicates';

Y
yangbo 已提交
1627
async function example() {
H
huweiqi 已提交
1628
  console.info('getFirstObjectDemo');
Z
zhang-daiyue 已提交
1629 1630 1631 1632 1633 1634 1635
  let predicates = new dataSharePredicates.DataSharePredicates();
  let fetchOption = {
    fetchColumns: [],
    predicates: predicates
  };
  let fetchResult = await mgr.getPhotoAssets(fetchOption);
  let fileAsset = await fetchResult.getFirstObject();
H
huweiqi 已提交
1636
  console.info('fileAsset displayName: ', fileAsset.displayName);
Y
yangbo 已提交
1637 1638 1639 1640 1641
}
```

### getNextObject

Z
zhang-daiyue 已提交
1642
 getNextObject(callback: AsyncCallback&lt;T&gt;): void
Y
yangbo 已提交
1643 1644 1645 1646 1647 1648 1649 1650 1651

获取文件检索结果中的下一个文件资产。此方法使用callback形式返回结果。

**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

**参数**

| 参数名    | 类型                                          | 必填 | 说明                                      |
| --------- | --------------------------------------------- | ---- | ----------------------------------------- |
Z
zhang-daiyue 已提交
1652
| callbacke | AsyncCallback&lt;T&gt; | 是   | 异步返回结果集中下一个之后的回调 |
Y
yangbo 已提交
1653 1654 1655

**示例**

Z
zhang-daiyue 已提交
1656
```ts
H
huweiqi 已提交
1657 1658
import dataSharePredicates from '@ohos.data.dataSharePredicates';

Y
yangbo 已提交
1659
async function example() {
H
huweiqi 已提交
1660
  console.info('getNextObjectDemo');
Z
zhang-daiyue 已提交
1661 1662 1663 1664 1665 1666 1667 1668 1669 1670
  let predicates = new dataSharePredicates.DataSharePredicates();
  let fetchOption = {
    fetchColumns: [],
    predicates: predicates
  };
  let fetchResult = await mgr.getPhotoAssets(fetchOption);
  await fetchResult.getFirstObject();
  if (fetchResult.isAfterLast()) {
    fetchResult.getNextObject((err, fileAsset) => {
      if (fileAsset != undefined) {
H
huweiqi 已提交
1671
        console.info('fileAsset displayName: ', fileAsset.displayName);
Z
zhang-daiyue 已提交
1672
      } else {
H
huweiqi 已提交
1673
        console.error("fileAsset failed with err: " + err);
Z
zhang-daiyue 已提交
1674 1675 1676
      }
    });
  }
Y
yangbo 已提交
1677 1678 1679 1680 1681
}
```

### getNextObject

Z
zhang-daiyue 已提交
1682
 getNextObject(): Promise&lt;T&gt;
Y
yangbo 已提交
1683

Z
zhang-daiyue 已提交
1684
获取文件检索结果中的下一个文件资产。此方法使用promise方式来异步返回。
Y
yangbo 已提交
1685 1686 1687

**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

Z
zengyawen 已提交
1688
**返回值:**
Y
yangbo 已提交
1689 1690 1691

| 类型                                    | 说明              |
| --------------------------------------- | ----------------- |
Z
zhang-daiyue 已提交
1692
| Promise&lt;T&gt; | 返回结果集中下一个对象 |
Y
yangbo 已提交
1693 1694 1695

**示例**

Z
zhang-daiyue 已提交
1696
```ts
H
huweiqi 已提交
1697 1698
import dataSharePredicates from '@ohos.data.dataSharePredicates';

Y
yangbo 已提交
1699
async function example() {
H
huweiqi 已提交
1700
  console.info('getNextObjectDemo');
Z
zhang-daiyue 已提交
1701 1702 1703 1704 1705 1706 1707 1708 1709
  let predicates = new dataSharePredicates.DataSharePredicates();
  let fetchOption = {
    fetchColumns: [],
    predicates: predicates
  };
  let fetchResult = await mgr.getPhotoAssets(fetchOption);
  await fetchResult.getFirstObject();
  if (fetchResult.isAfterLast()) {
    let fileAsset = await fetchResult.getNextObject();
H
huweiqi 已提交
1710
    console.info('fileAsset displayName: ', fileAsset.displayName);
Z
zhang-daiyue 已提交
1711
  }
Y
yangbo 已提交
1712 1713 1714 1715 1716
}
```

### getLastObject

Z
zhang-daiyue 已提交
1717
getLastObject(callback: AsyncCallback&lt;T&gt;): void
Y
yangbo 已提交
1718

Z
zhang-daiyue 已提交
1719
获取文件检索结果中的最后一个文件资产。此方法使用callback回调来返回。
Y
yangbo 已提交
1720 1721 1722 1723 1724 1725 1726

**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

**参数**

| 参数名   | 类型                                          | 必填 | 说明                        |
| -------- | --------------------------------------------- | ---- | --------------------------- |
Z
zhang-daiyue 已提交
1727
| callback | AsyncCallback&lt;T&gt; | 是   | 异步返回结果集中最后一个的回调 |
Y
yangbo 已提交
1728 1729 1730

**示例**

Z
zhang-daiyue 已提交
1731
```ts
H
huweiqi 已提交
1732 1733
import dataSharePredicates from '@ohos.data.dataSharePredicates';

Y
yangbo 已提交
1734
async function example() {
H
huweiqi 已提交
1735
  console.info('getLastObjectDemo');
Z
zhang-daiyue 已提交
1736 1737 1738 1739 1740 1741 1742 1743
  let predicates = new dataSharePredicates.DataSharePredicates();
  let fetchOption = {
    fetchColumns: [],
    predicates: predicates
  };
  let fetchResult = await mgr.getPhotoAssets(fetchOption);
  fetchResult.getLastObject((err, fileAsset) => {
    if (fileAsset != undefined) {
H
huweiqi 已提交
1744
      console.info('fileAsset displayName: ', fileAsset.displayName);
Z
zhang-daiyue 已提交
1745
    } else {
H
huweiqi 已提交
1746
      console.error("fileAsset failed with err: " + err);
Z
zhang-daiyue 已提交
1747 1748
    }
  });
Y
yangbo 已提交
1749 1750 1751 1752 1753
}
```

### getLastObject

Z
zhang-daiyue 已提交
1754
getLastObject(): Promise&lt;T&gt;
Y
yangbo 已提交
1755

Z
zhang-daiyue 已提交
1756
获取文件检索结果中的最后一个文件资产。此方法使用Promise方式来返回。
Y
yangbo 已提交
1757 1758 1759

**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

Z
zengyawen 已提交
1760
**返回值:**
Y
yangbo 已提交
1761 1762 1763

| 类型                                    | 说明              |
| --------------------------------------- | ----------------- |
Z
zhang-daiyue 已提交
1764
| Promise&lt;T&gt; | 返回结果集中最后一个对象 |
Y
yangbo 已提交
1765 1766 1767

**示例**

Z
zhang-daiyue 已提交
1768
```ts
H
huweiqi 已提交
1769 1770
import dataSharePredicates from '@ohos.data.dataSharePredicates';

Y
yangbo 已提交
1771
async function example() {
H
huweiqi 已提交
1772
  console.info('getLastObjectDemo');
Z
zhang-daiyue 已提交
1773 1774 1775 1776 1777 1778 1779
  let predicates = new dataSharePredicates.DataSharePredicates();
  let fetchOption = {
    fetchColumns: [],
    predicates: predicates
  };
  let fetchResult = await mgr.getPhotoAssets(fetchOption);
  let fileAsset = await fetchResult.getLastObject();
H
huweiqi 已提交
1780
  console.info('fileAsset displayName: ', fileAsset.displayName);
Y
yangbo 已提交
1781 1782 1783 1784 1785
}
```

### getPositionObject

Z
zhang-daiyue 已提交
1786
getPositionObject(index: number, callback: AsyncCallback&lt;T&gt;): void
Y
yangbo 已提交
1787

Z
zhang-daiyue 已提交
1788
获取文件检索结果中具有指定索引的文件资产。此方法使用callback来返回。
Y
yangbo 已提交
1789 1790 1791 1792 1793 1794 1795 1796

**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

**参数**

| 参数名       | 类型                                       | 必填   | 说明                 |
| -------- | ---------------------------------------- | ---- | ------------------ |
| index    | number                                   | 是    | 要获取的文件的索引,从0开始     |
Z
zhang-daiyue 已提交
1797
| callback | AsyncCallback&lt;T&gt; | 是    | 异步返回指定索引的文件资产的回调 |
Y
yangbo 已提交
1798 1799 1800

**示例**

Z
zhang-daiyue 已提交
1801
```ts
H
huweiqi 已提交
1802 1803
import dataSharePredicates from '@ohos.data.dataSharePredicates';

Y
yangbo 已提交
1804
async function example() {
H
huweiqi 已提交
1805
  console.info('getPositionObjectDemo');
Z
zhang-daiyue 已提交
1806 1807 1808 1809 1810 1811 1812 1813
  let predicates = new dataSharePredicates.DataSharePredicates();
  let fetchOption = {
    fetchColumns: [],
    predicates: predicates
  };
  let fetchResult = await mgr.getPhotoAssets(fetchOption);
  fetchResult.getPositionObject(0, (err, fileAsset) => {
    if (fileAsset != undefined) {
H
huweiqi 已提交
1814
      console.info('fileAsset displayName: ', fileAsset.displayName);
Z
zhang-daiyue 已提交
1815
    } else {
H
huweiqi 已提交
1816
      console.error("fileAsset failed with err: " + err);
Z
zhang-daiyue 已提交
1817 1818
    }
  });
Y
yangbo 已提交
1819 1820 1821 1822 1823
}
```

### getPositionObject

Z
zhang-daiyue 已提交
1824
getPositionObject(index: number): Promise&lt;T&gt;
Y
yangbo 已提交
1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835

获取文件检索结果中具有指定索引的文件资产。此方法使用Promise形式返回文件Asset。

**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

**参数**

| 参数名    | 类型     | 必填   | 说明             |
| ----- | ------ | ---- | -------------- |
| index | number | 是    | 要获取的文件的索引,从0开始 |

Z
zengyawen 已提交
1836
**返回值:**
Y
yangbo 已提交
1837 1838 1839

| 类型                                    | 说明              |
| --------------------------------------- | ----------------- |
Z
zhang-daiyue 已提交
1840
| Promise&lt;T&gt; | 返回指定索引的文件资产的对象 |
Y
yangbo 已提交
1841 1842 1843

**示例**

Z
zhang-daiyue 已提交
1844
```ts
H
huweiqi 已提交
1845 1846
import dataSharePredicates from '@ohos.data.dataSharePredicates';

Y
yangbo 已提交
1847
async function example() {
H
huweiqi 已提交
1848
  console.info('getPositionObjectDemo');
Z
zhang-daiyue 已提交
1849 1850 1851 1852 1853 1854 1855
  let predicates = new dataSharePredicates.DataSharePredicates();
  let fetchOption = {
    fetchColumns: [],
    predicates: predicates
  };
  let fetchResult = await mgr.getPhotoAssets(fetchOption);
  let fileAsset = await fetchResult.getPositionObject(0);
H
huweiqi 已提交
1856
  console.info('fileAsset displayName: ', fileAsset.displayName);
Y
yangbo 已提交
1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875
}
```

## Album

实体相册

### 属性

**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core

| 名称           | 类型    | 可读   | 可写   | 说明      |
| ------------ | ------ | ---- | ---- | ------- |
| albumName | string | 是    | 是    | 相册名称    |
| albumUri | string | 是    | 否    | 相册Uri   |
| dateModified | number | 是    | 否    | 修改日期    |
| count | number | 是    | 否    | 相册中文件数量 |
| coverUri | string | 是    | 否    | 封面文件Uri 

Z
zhang-daiyue 已提交
1876 1877 1878 1879
### getPhotoAssets

getPhotoAssets(options: FetchOptions, callback: AsyncCallback&lt;FetchResult&lt;FileAsset&gt;&gt;): void;

H
huweiqi 已提交
1880
获取相册中的文件。该方法使用callback形式来返回文件。
Z
zhang-daiyue 已提交
1881

H
huweiqi 已提交
1882
**需要权限**:ohos.permission.READ_IMAGEVIDEO
Z
zhang-daiyue 已提交
1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895

**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

**参数**

| 参数名   | 类型                      | 必填 | 说明       |
| -------- | ------------------------- | ---- | ---------- |
| options | [FetchOptions](#fetchoptions) | 是   | 检索选项 |
| callback | AsyncCallback&lt;[FetchResult](#fetchresult)&lt;[FileAsset](#fileasset)&gt;&gt; | 是   | callback 返回图片和视频数据结果集|

**示例**

```ts
H
huweiqi 已提交
1896 1897
import dataSharePredicates from '@ohos.data.dataSharePredicates';

Z
zhang-daiyue 已提交
1898
async function example() {
H
huweiqi 已提交
1899
  console.info('albumGetFileAssetsDemoCallback');
Z
zhang-daiyue 已提交
1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912

  let predicates = new dataSharePredicates.DataSharePredicates();
  let albumFetchOptions = {
    predicates: predicates
  };
  let fetchOption = {
    fetchColumns: [],
    predicates: predicates
  };
  const albumList = await mgr.getPhotoAlbums(albumFetchOptions);
  const album = await albumList.getFirstObject();
  album.getPhotoAssets(fetchOption, (err, albumFetchResult) => {
    if (albumFetchResult != undefined) {
H
huweiqi 已提交
1913
      console.info("album getPhotoAssets successfully, getCount: " + albumFetchResult.getCount());
Z
zhang-daiyue 已提交
1914
    } else {
H
huweiqi 已提交
1915
      console.error("album getPhotoAssets failed with error: " + err);
Z
zhang-daiyue 已提交
1916 1917 1918 1919
    }
  });
}
```
Z
zengyawen 已提交
1920

Z
zhang-daiyue 已提交
1921 1922 1923 1924
### getPhotoAssets

getPhotoAssets(options: FetchOptions): Promise&lt;FetchResult&lt;FileAsset&gt;&gt;;

H
huweiqi 已提交
1925
获取相册中的文件。该方法使用Promise来返回文件。
Z
zhang-daiyue 已提交
1926

H
huweiqi 已提交
1927
**需要权限**:ohos.permission.READ_IMAGEVIDEO
Z
zhang-daiyue 已提交
1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940

**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

**参数**

| 参数名   | 类型                      | 必填 | 说明       |
| -------- | ------------------------- | ---- | ---------- |
| options | [FetchOptions](#fetchoptions) | 是   | 检索选项 |
| Promise | [FetchResult](#fetchresult)&lt;[FileAsset](#fileasset)&gt; | 是   | 图片和视频数据结果集 |

**示例**

```ts
H
huweiqi 已提交
1941 1942
import dataSharePredicates from '@ohos.data.dataSharePredicates';

Z
zhang-daiyue 已提交
1943
async function example() {
H
huweiqi 已提交
1944
  console.info('albumGetFileAssetsDemoPromise');
Z
zhang-daiyue 已提交
1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956

  let predicates = new dataSharePredicates.DataSharePredicates();
  let albumFetchOptions = {
    predicates: predicates
  };
  let fetchOption = {
    fetchColumns: [],
    predicates: predicates
  };
  const albumList = await mgr.getPhotoAlbums(albumFetchOptions);
  const album = await albumList.getFirstObject();
  album.getPhotoAssets(fetchOption).then((albumFetchResult) => {
H
huweiqi 已提交
1957
    console.info("album getFileAssets successfully, getCount: " + albumFetchResult.getCount());
Z
zhang-daiyue 已提交
1958
  }).catch((err) => {
H
huweiqi 已提交
1959
    console.error("album getFileAssets failed with error: " + err);
Z
zhang-daiyue 已提交
1960 1961 1962 1963
  });
}
```

Y
yangbo 已提交
1964 1965 1966 1967 1968 1969
### commitModify

commitModify(callback: AsyncCallback&lt;void&gt;): void;

更新相册属性修改到数据库中。

Z
zhang-daiyue 已提交
1970
**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
Y
yangbo 已提交
1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982

**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

**参数**

| 参数名   | 类型                      | 必填 | 说明       |
| -------- | ------------------------- | ---- | ---------- |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调返回空 |

**示例**

```ts
H
huweiqi 已提交
1983 1984
import dataSharePredicates from '@ohos.data.dataSharePredicates';

Z
zhang-daiyue 已提交
1985
async function example() {
H
huweiqi 已提交
1986
  console.info('albumCommitModifyDemo');
Z
zhang-daiyue 已提交
1987 1988 1989 1990 1991 1992 1993 1994 1995
  let predicates = new dataSharePredicates.DataSharePredicates();
  let albumFetchOptions = {
    predicates: predicates
  };
  const albumList = await mgr.getPhotoAlbums(albumFetchOptions);
  const album = await albumList.getFirstObject();
  album.albumName = 'hello';
  album.commitModify((err) => {
    if (err != undefined) {
H
huweiqi 已提交
1996
      console.error("commitModify failed with error: " + err);
Z
zhang-daiyue 已提交
1997 1998 1999 2000
    } else {
      console.info("commitModify successfully");
    }
  });
Y
yangbo 已提交
2001 2002 2003 2004 2005 2006 2007 2008 2009
}
```

### commitModify

commitModify(): Promise&lt;void&gt;;

更新相册属性修改到数据库中。

Z
zhang-daiyue 已提交
2010
**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
Y
yangbo 已提交
2011 2012 2013

**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

Z
zengyawen 已提交
2014
**返回值:**
Y
yangbo 已提交
2015 2016 2017 2018 2019 2020 2021 2022

| 类型                  | 说明           |
| ------------------- | ------------ |
| Promise&lt;void&gt; | Promise调用返回空 |

**示例**

```ts
H
huweiqi 已提交
2023 2024
import dataSharePredicates from '@ohos.data.dataSharePredicates';

Z
zhang-daiyue 已提交
2025
async function example() {
H
huweiqi 已提交
2026
  console.info('albumCommitModifyDemo');
Z
zhang-daiyue 已提交
2027 2028 2029 2030 2031 2032 2033
  let predicates = new dataSharePredicates.DataSharePredicates();
  let albumFetchOptions = {
    predicates: predicates
  };
  try {
    var albumList = await mgr.getPhotoAlbums(albumFetchOptions);
  } catch (err) {
H
huweiqi 已提交
2034
    console.error('getPhotoAlbums failed. message = ', err);
Z
zhang-daiyue 已提交
2035 2036 2037 2038 2039 2040
  }
  const album = await albumList.getFirstObject();
  album.albumName = 'hello';
  album.commitModify().then(() => {
    console.info("commitModify successfully");
  }).catch((err) => {
H
huweiqi 已提交
2041
    console.error("commitModify failed with error: " + err);
Z
zhang-daiyue 已提交
2042
  });
Y
yangbo 已提交
2043 2044 2045
}
```

Z
zhang-daiyue 已提交
2046
## PrivateAlbum
H
huweiqi 已提交
2047 2048

系统相册。
Z
zhang-daiyue 已提交
2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062

### 属性

**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core

| 名称           | 类型    | 可读   | 可写   | 说明      |
| ------------ | ------ | ---- | ---- | ------- |
| albumName | string | 是    | 是    | 相册名称    |
| albumUri | string | 是    | 否    | 相册Uri   |
| dateModified | number | 是    | 否    | 修改日期    |
| count | number | 是    | 否    | 相册中文件数量 |
| coverUri | string | 是    | 否    | 封面文件Uri 

### getPhotoAssets
Y
yangbo 已提交
2063

Z
zhang-daiyue 已提交
2064
getPhotoAssets(options: FetchOptions, callback: AsyncCallback&lt;FetchResult&lt;FileAsset&gt;&gt;): void;
Y
yangbo 已提交
2065

H
huweiqi 已提交
2066
获取系统相册中的文件。该方法使用callback形式来返回文件。
Y
yangbo 已提交
2067

H
huweiqi 已提交
2068
**需要权限**:ohos.permission.READ_IMAGEVIDEO
Y
yangbo 已提交
2069 2070 2071 2072 2073

**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

**参数**

Z
zhang-daiyue 已提交
2074 2075 2076 2077
| 参数名   | 类型                      | 必填 | 说明       |
| -------- | ------------------------- | ---- | ---------- |
| options | [FetchOptions](#fetchoptions) | 是   | 检索选项 |
| callback | AsyncCallback&lt;[FetchResult](#fetchresult)&lt;[FileAsset](#fileasset)&gt;&gt; | 是   | callback返回图片和视频数据结果集 |
Y
yangbo 已提交
2078 2079 2080 2081

**示例**

```ts
H
huweiqi 已提交
2082 2083
import dataSharePredicates from '@ohos.data.dataSharePredicates';

Z
zhang-daiyue 已提交
2084
async function example() {
H
huweiqi 已提交
2085
  console.info('privateAlbumGetFileAssetsDemoCallback');
Z
zhang-daiyue 已提交
2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097
  let albumList = await mgr.getPrivateAlbum(userFileManager.PrivateAlbumType.TYPE_TRASH);
  let predicates = new dataSharePredicates.DataSharePredicates();
  let fetchOption = {
    fetchColumns: [],
    predicates: predicates
  };
  const trashAlbum = await albumList.getFirstObject();
  trashAlbum.getPhotoAssets(fetchOption, (err, fetchResult) => {
    if (fetchResult != undefined) {
      let count = fetchResult.getCount();
      console.info('fetchResult.count = ', count);
    } else {
H
huweiqi 已提交
2098
      console.error('getFileAssets failed, message = ', err);
Z
zhang-daiyue 已提交
2099 2100
    }
  });
Y
yangbo 已提交
2101 2102
}

Z
zhang-daiyue 已提交
2103
```
Z
zengyawen 已提交
2104

Z
zhang-daiyue 已提交
2105
### getPhotoAssets
Y
yangbo 已提交
2106

Z
zhang-daiyue 已提交
2107
getPhotoAssets(options: FetchOptions): Promise&lt;FetchResult&lt;FileAsset&gt;&gt;;
Y
yangbo 已提交
2108

H
huweiqi 已提交
2109
获取系统相册中的文件。该方法使用Promise来返回文件。
Y
yangbo 已提交
2110

H
huweiqi 已提交
2111
**需要权限**:ohos.permission.READ_IMAGEVIDEO
Y
yangbo 已提交
2112 2113 2114 2115 2116

**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

**参数**

Z
zhang-daiyue 已提交
2117 2118 2119 2120
| 参数名   | 类型                      | 必填 | 说明       |
| -------- | ------------------------- | ---- | ---------- |
| options | [FetchOptions](#fetchoptions) | 是   | 检索选项 |

Z
zengyawen 已提交
2121
**返回值:**
Z
zhang-daiyue 已提交
2122 2123 2124 2125

| 类型                                    | 说明              |
| --------------------------------------- | ----------------- |
| Promise:[FetchResult](#fetchresult)&lt;[FileAsset](#fileasset)&gt;| 图片和视频数据结果集 |
Y
yangbo 已提交
2126 2127 2128 2129

**示例**

```ts
H
huweiqi 已提交
2130 2131
import dataSharePredicates from '@ohos.data.dataSharePredicates';

Z
zhang-daiyue 已提交
2132
async function example() {
H
huweiqi 已提交
2133
  console.info('privateAlbumGetFileAssetsDemoPromise');
Z
zhang-daiyue 已提交
2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144
  let albumList = await mgr.getPrivateAlbum(userFileManager.PrivateAlbumType.TYPE_TRASH);
  let predicates = new dataSharePredicates.DataSharePredicates();
  let fetchOption = {
    fetchColumns: [],
    predicates: predicates
  };
  const trashAlbum = await albumList.getFirstObject();
  let fetchResult = await trashAlbum.getPhotoAssets(fetchOption);
  let count = fetchResult.getCount();
  console.info('fetchResult.count = ', count);
}
Y
yangbo 已提交
2145
```
Z
zengyawen 已提交
2146

Z
zhang-daiyue 已提交
2147 2148 2149
### delete

delete(uri: string, callback: AsyncCallback&lt;void&gt;): void;
Y
yangbo 已提交
2150

H
huweiqi 已提交
2151
删除系统相册中的文件。
Y
yangbo 已提交
2152

Z
zhang-daiyue 已提交
2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166
**需要权限**:ohos.permission.READ_IMAGEVIDEO 和 ohos.permission.WRITE_IMAGEVIDEO 或 ohos.permission.READ_AUDIO 和 ohos.permission.WRITE_AUDIO

**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

**参数**

| 参数名   | 类型                      | 必填 | 说明       |
| -------- | ------------------------- | ---- | ---------- |
| uri | string | 是   | 相册uri |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调返回空 |

**示例**

```ts
H
huweiqi 已提交
2167 2168
import dataSharePredicates from '@ohos.data.dataSharePredicates';

Z
zhang-daiyue 已提交
2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182
async function example() {
  console.info('privateAlbumDeleteCallback');
  let albumList = await mgr.getPrivateAlbum(userFileManager.PrivateAlbumType.TYPE_TRASH);
  let predicates = new dataSharePredicates.DataSharePredicates();
  let fetchOption = {
    fetchColumns: [],
    predicates: predicates
  };
  const trashAlbum = await albumList.getFirstObject();
  let fetchResult = await trashAlbum.getPhotoAssets(fetchOption);
  const fileAsset = await fetchResult.getFirstObject();
  let deleteFileUri = fileAsset.uri;
  trashAlbum.delete(deleteFileUri, (err) => {
    if (err != undefined) {
H
huweiqi 已提交
2183
      console.error('trashAlbum.delete failed, message = ', err);
Z
zhang-daiyue 已提交
2184 2185 2186 2187 2188 2189
    } else {
      console.info('trashAlbum.delete successfully');
    }
  });
}
```
Z
zengyawen 已提交
2190

Z
zhang-daiyue 已提交
2191
### delete
Y
yangbo 已提交
2192

Z
zhang-daiyue 已提交
2193
delete(uri: string): Promise&lt;void&gt;;
Y
yangbo 已提交
2194

H
huweiqi 已提交
2195
删除系统相册中的文件。
Y
yangbo 已提交
2196

Z
zhang-daiyue 已提交
2197
**需要权限**:ohos.permission.READ_IMAGEVIDEO 和 ohos.permission.WRITE_IMAGEVIDEO 或 ohos.permission.READ_AUDIO 和 ohos.permission.WRITE_AUDIO
Y
yangbo 已提交
2198 2199 2200 2201 2202

**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

**参数**

Z
zhang-daiyue 已提交
2203 2204 2205
| 参数名   | 类型                      | 必填 | 说明       |
| -------- | ------------------------- | ---- | ---------- |
| uri | string | 是   | 相册uri |
Y
yangbo 已提交
2206

Z
zengyawen 已提交
2207
**返回值:**
Y
yangbo 已提交
2208

Z
zhang-daiyue 已提交
2209 2210 2211
| 类型                                    | 说明              |
| --------------------------------------- | ----------------- |
| Promise&lt;void&gt;| 回调返回空 |
Y
yangbo 已提交
2212 2213 2214 2215

**示例**

```ts
H
huweiqi 已提交
2216 2217
import dataSharePredicates from '@ohos.data.dataSharePredicates';

Z
zhang-daiyue 已提交
2218
async function example() {
H
huweiqi 已提交
2219
  console.info('privateAlbumDeleteDemoPromise');
Z
zhang-daiyue 已提交
2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232
  let albumList = await mgr.getPrivateAlbum(userFileManager.PrivateAlbumType.TYPE_TRASH);
  let predicates = new dataSharePredicates.DataSharePredicates();
  let fetchOption = {
    fetchColumns: [],
    predicates: predicates
  };
  const trashAlbum = await albumList.getFirstObject();
  let fetchResult = await trashAlbum.getPhotoAssets(fetchOption);
  const fileAsset = await fetchResult.getFirstObject();
  let deleteFileUri = fileAsset.uri;
  trashAlbum.delete(deleteFileUri).then(() => {
    console.info('trashAlbum.delete successfully');
  }).catch((err) => {
H
huweiqi 已提交
2233
    console.error('trashAlbum.delete failed, message = ', err);
Z
zhang-daiyue 已提交
2234 2235
  });
}   
Y
yangbo 已提交
2236 2237
```

Z
zhang-daiyue 已提交
2238
### recover
Y
yangbo 已提交
2239

Z
zhang-daiyue 已提交
2240
recover(uri: string, callback: AsyncCallback&lt;void&gt;): void;
李云帆 已提交
2241

H
huweiqi 已提交
2242
恢复系统相册中的文件。
Y
yangbo 已提交
2243

H
huweiqi 已提交
2244
**需要权限**:ohos.permission.READ_IMAGEVIDEO 和 ohos.permission.WRITE_IMAGEVIDEO 或 ohos.permission.READ_AUDIO 和 ohos.permission.WRITE_AUDIO
Y
yangbo 已提交
2245 2246 2247 2248

**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

**参数**
Z
zhang-daiyue 已提交
2249 2250 2251 2252 2253

| 参数名   | 类型                      | 必填 | 说明       |
| -------- | ------------------------- | ---- | ---------- |
| uri | string | 是   | 相册uri |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调返回空 |
Y
yangbo 已提交
2254 2255 2256 2257

**示例**

```ts
H
huweiqi 已提交
2258 2259
import dataSharePredicates from '@ohos.data.dataSharePredicates';

Z
zhang-daiyue 已提交
2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273
async function example() {
  console.info('privateAlbumRecoverDemoCallback');
  let albumList = await mgr.getPrivateAlbum(userFileManager.PrivateAlbumType.TYPE_TRASH);
  let predicates = new dataSharePredicates.DataSharePredicates();
  let fetchOption = {
    fetchColumns: [],
    predicates: predicates
  };
  const trashAlbum = await albumList.getFirstObject();
  let fetchResult = await trashAlbum.getPhotoAssets(fetchOption);
  const fileAsset = await fetchResult.getFirstObject();
  let recoverFileUri = fileAsset.uri;
  trashAlbum.recover(recoverFileUri, (err) => {
    if (err != undefined) {
H
huweiqi 已提交
2274
      console.error('trashAlbum.recover failed, message = ', err);
Z
zhang-daiyue 已提交
2275 2276
    } else {
      console.info('trashAlbum.recover successfully');
Y
yangbo 已提交
2277
    }
Z
zhang-daiyue 已提交
2278
  });
Y
yangbo 已提交
2279 2280
}
```
Z
zengyawen 已提交
2281

Z
zhang-daiyue 已提交
2282
### recover
Y
yangbo 已提交
2283

Z
zhang-daiyue 已提交
2284
recover(uri: string): Promise&lt;void&gt;;
Y
yangbo 已提交
2285

H
huweiqi 已提交
2286
恢复系统相册中的文件。
李云帆 已提交
2287

H
huweiqi 已提交
2288
**需要权限**:ohos.permission.READ_IMAGEVIDEO 和 ohos.permission.WRITE_IMAGEVIDEO 或 ohos.permission.READ_AUDIO 和 ohos.permission.WRITE_AUDIO
Y
yangbo 已提交
2289 2290 2291 2292 2293

**系统能力**:SystemCapability.FileManagement.UserFileManager.Core

**参数**

Z
zhang-daiyue 已提交
2294 2295 2296
| 参数名   | 类型                      | 必填 | 说明       |
| -------- | ------------------------- | ---- | ---------- |
| uri | string | 是   | 相册uri |
Y
yangbo 已提交
2297

Z
zengyawen 已提交
2298
**返回值:**
Y
yangbo 已提交
2299

Z
zhang-daiyue 已提交
2300 2301 2302
| 类型                                    | 说明              |
| --------------------------------------- | ----------------- |
| Promise&lt;void&gt;| 回调返回空 |
Y
yangbo 已提交
2303 2304 2305 2306

**示例**

```ts
H
huweiqi 已提交
2307 2308
import dataSharePredicates from '@ohos.data.dataSharePredicates';

Z
zhang-daiyue 已提交
2309
async function example() {
H
huweiqi 已提交
2310
  console.info('privateAlbumRecoverDemoPromise');
Z
zhang-daiyue 已提交
2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323
  let albumList = await mgr.getPrivateAlbum(userFileManager.PrivateAlbumType.TYPE_TRASH);
  let predicates = new dataSharePredicates.DataSharePredicates();
  let fetchOption = {
    fetchColumns: [],
    predicates: predicates
  };
  const trashAlbum = await albumList.getFirstObject();
  let fetchResult = await trashAlbum.getPhotoAssets(fetchOption);
  const fileAsset = await fetchResult.getFirstObject();
  let recoverFileUri = fileAsset.uri;
  trashAlbum.recover(recoverFileUri).then(() => {
    console.info('trashAlbum.recover successfully');
  }).catch((err) => {
H
huweiqi 已提交
2324
    console.error('trashAlbum.recover failed, message = ', err);
Z
zhang-daiyue 已提交
2325
  });
Y
yangbo 已提交
2326 2327 2328
}
```

Z
zhang-daiyue 已提交
2329 2330 2331 2332
## MemberType

成员类型。

H
huweiqi 已提交
2333
**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
zyjhandsome's avatar
zyjhandsome 已提交
2334

H
huweiqi 已提交
2335 2336
| 名称  |  类型 |  可读  |  可写  |  说明  |
| ----- |  ---- |  ---- |  ---- |  ---- |
Z
zengyawen 已提交
2337 2338 2339
| number |  number | 是 | 是 | number类型 |
| string |  string | 是 | 是 | string类型 |
| boolean |  boolean | 是 | 是 | boolean类型 |
Z
zhang-daiyue 已提交
2340 2341 2342 2343 2344

## ChangeEvent

变更监听的媒体文件类型。

H
huweiqi 已提交
2345
**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
Z
zhang-daiyue 已提交
2346

H
huweiqi 已提交
2347
| 名称  |  类型 |  可读  |  可写  |  说明 |
H
huweiqi 已提交
2348 2349 2350 2351 2352 2353 2354
| ----- |  ---- |  ---- |  ---- |  ---- |
| deviceChange |  string | 是 | 是 |  设备 |
| albumChange |  string | 是 | 是 |  相册 |
| imageChange |  string | 是 | 是 |  图片 |
| audioChange |  string | 是 | 是 |  音频 |
| videoChange |  string | 是 | 是 |  视频 |
| remoteFileChange |  string | 是 | 是 |  远程文件 |
Z
zhang-daiyue 已提交
2355

Y
yangbo 已提交
2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367
## PeerInfo

注册设备的信息。

**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.DistributedCore

| 名称       | 类型                       | 可读 | 可写 | 说明             |
| ---------- | -------------------------- | ---- | ---- | ---------------- |
| deviceName | string                     | 是   | 否   | 注册设备的名称   |
| networkId  | string                     | 是   | 否   | 注册设备的网络ID |
| isOnline   | boolean                    | 是   | 否   | 是否在线         |

Z
zhang-daiyue 已提交
2368 2369 2370
## FileType

枚举,媒体文件类型。
Y
yangbo 已提交
2371 2372 2373

**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core

H
huweiqi 已提交
2374 2375 2376 2377 2378
| 名称  |  值 |  说明 |
| ----- |  ---- |  ---- |
| IMAGE |  1 |  图片 |
| VIDEO |  2 |  视频 |
| AUDIO |  3 |  音频 |
Y
yangbo 已提交
2379

Z
zhang-daiyue 已提交
2380
## PrivateAlbumType
Y
yangbo 已提交
2381

Z
zhang-daiyue 已提交
2382
枚举,系统相册类型。
Y
yangbo 已提交
2383 2384 2385

**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core

H
huweiqi 已提交
2386 2387 2388 2389
| 名称    |  值 |   说明   |
| -----   |  ----  |   ----  |
| TYPE_FAVORITE |  0 |  收藏夹相册 |
| TYPE_TRASH |  1 |  回收站相册 |
Z
zhang-daiyue 已提交
2390

Y
yangbo 已提交
2391 2392 2393 2394 2395 2396
## AudioKey

枚举,音频文件关键信息。

**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core

H
huweiqi 已提交
2397
| 名称          |   值              | 说明                                                       |
Y
yangbo 已提交
2398 2399 2400 2401
| ------------- | ------------------- | ---------------------------------------------------------- |
| URI           | uri                 | 文件uri                                                   |
| DISPLAY_NAME  | display_name        | 显示名字                                                   |
| DATE_ADDED    | date_added          | 添加日期(添加文件时间到1970年1月1日的秒数值)             |
H
huweiqi 已提交
2402
| DATE_MODIFIED | date_modified       | 修改日期(修改文件时间到1970年1月1日的秒数值,修改文件名不会改变此值,当文件内容发生修改时才会更新) |
Y
yangbo 已提交
2403 2404 2405 2406
| TITLE         | title               | 文件标题                                                   |
| ARTIST        | artist              | 作者                                                   |
| AUDIOALBUM    | audio_album         | 专辑                                                   |
| DURATION      | duration            | 持续时间(单位:毫秒)                                    |
Z
zhang-daiyue 已提交
2407
| FAVORITE      | favorite            | 收藏                                                   |
Y
yangbo 已提交
2408 2409 2410 2411 2412 2413 2414

## ImageVideoKey

枚举,图片和视频文件关键信息。

**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core

H
huweiqi 已提交
2415
| 名称          | 值              | 说明                                                       |
Y
yangbo 已提交
2416 2417
| ------------- | ------------------- | ---------------------------------------------------------- |
| URI           | uri                 | 文件uri                                                   |
Z
zhang-daiyue 已提交
2418
| FILE_TYPE     | file_type           | 媒体文件类型                                              |
Y
yangbo 已提交
2419 2420
| DISPLAY_NAME  | display_name        | 显示名字                                                   |
| DATE_ADDED    | date_added          | 添加日期(添加文件时间到1970年1月1日的秒数值)             |
H
huweiqi 已提交
2421
| DATE_MODIFIED | date_modified       | 修改日期(修改文件时间到1970年1月1日的秒数值,修改文件名不会改变此值,当文件内容发生修改时才会更新) |
Z
zhang-daiyue 已提交
2422
| TITLE         | title               | 文件标题                                                   |
Y
yangbo 已提交
2423 2424 2425 2426
| DURATION      | duration            | 持续时间(单位:毫秒)                                    |
| WIDTH         | width               | 图片宽度(单位:像素)                                    |
| HEIGHT        | height              | 图片高度(单位:像素)                                      |
| DATE_TAKEN    | date_taken          | 拍摄日期(文件拍照时间到1970年1月1日的秒数值)                |
Z
zhang-daiyue 已提交
2427 2428
| ORIENTATION   | orientation         | 图片文件的方向                                             |
| FAVORITE      | favorite            | 收藏                                                    |
Y
yangbo 已提交
2429 2430 2431 2432 2433 2434 2435

## AlbumKey

枚举,相册关键信息。

**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core

H
huweiqi 已提交
2436
| 名称          | 值              | 说明                                                       |
Y
yangbo 已提交
2437 2438
| ------------- | ------------------- | ---------------------------------------------------------- |
| URI           | uri                 | 相册uri                                                   |
Z
zhang-daiyue 已提交
2439 2440
| FILE_TYPE     | file_type           | 媒体文件类型                                              |
| ALBUM_NAME    | album_name          | 相册名字                                                   |
Y
yangbo 已提交
2441
| DATE_ADDED    | date_added          | 添加日期(添加文件时间到1970年1月1日的秒数值)             |
H
huweiqi 已提交
2442
| DATE_MODIFIED | date_modified       | 修改日期(修改文件时间到1970年1月1日的秒数值,修改文件名不会改变此值,当文件内容发生修改时才会更新) |
Y
yangbo 已提交
2443

Z
zhang-daiyue 已提交
2444
## FetchOptions
Y
yangbo 已提交
2445 2446 2447 2448 2449

检索条件。

**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core

H
huweiqi 已提交
2450 2451 2452 2453
| 名称                   | 类型                | 可读 | 可写 | 说明                                              |
| ---------------------- | ------------------- | ---- |---- | ------------------------------------------------ |
| fetchColumns           | Array&lt;string&gt; | 是   | 是   | 检索条件,指定列名查询,如果该参数为空时默认查询uri、name、fileType。示例:<br />fetchColumns: "uri"|
| predicates           | [dataSharePredicates.DataSharePredicates](js-apis-data-dataSharePredicates.md) | 是   | 是   | 谓词查询,显示过滤条件 |
Y
yangbo 已提交
2454

Z
zhang-daiyue 已提交
2455
## AlbumFetchOptions
Y
yangbo 已提交
2456

Z
zhang-daiyue 已提交
2457
相册检索条件。
李云帆 已提交
2458

Y
yangbo 已提交
2459 2460
**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core

H
huweiqi 已提交
2461 2462 2463
| 名称                   | 类型                | 可读 | 可写 | 说明                                              |
| ---------------------- | ------------------- | ---- |---- | ------------------------------------------------ |
| predicates           | [dataSharePredicates.DataSharePredicates](js-apis-data-dataSharePredicates.md) | 是   | 是   | 谓词查询,显示过滤条件 |