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