1e41f4b71Sopenharmony_ci# @ohos.file.sendablePhotoAccessHelper (Album Management Based on a Sendable Object) (System API)
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ciThe **sendablePhotoAccessHelper** module provides APIs for album management, including creating an album and accessing and modifying media data in an album, based on a sendable object.
4e41f4b71Sopenharmony_ci
5e41f4b71Sopenharmony_ci> **NOTE**
6e41f4b71Sopenharmony_ci>
7e41f4b71Sopenharmony_ci> - The initial APIs of this module are supported since API version 12. Newly added APIs will be marked with a superscript to indicate their earliest API version.
8e41f4b71Sopenharmony_ci> - This topic describes only the system APIs provided by the module. For details about its public APIs, see [@ohos.file.sendablePhotoAccessHelper (Album Management Based on a Sendable Object)](js-apis-sendablePhotoAccessHelper.md).
9e41f4b71Sopenharmony_ci
10e41f4b71Sopenharmony_ci## Modules to Import
11e41f4b71Sopenharmony_ci
12e41f4b71Sopenharmony_ci```ts
13e41f4b71Sopenharmony_ciimport { sendablePhotoAccessHelper } from '@kit.MediaLibraryKit';
14e41f4b71Sopenharmony_ci```
15e41f4b71Sopenharmony_ci
16e41f4b71Sopenharmony_ci## PhotoAccessHelper
17e41f4b71Sopenharmony_ci
18e41f4b71Sopenharmony_ci### createAsset
19e41f4b71Sopenharmony_ci
20e41f4b71Sopenharmony_cicreateAsset(displayName: string): Promise<PhotoAsset>
21e41f4b71Sopenharmony_ci
22e41f4b71Sopenharmony_ciCreates an asset with the specified file name. This API uses a promise to return the result.
23e41f4b71Sopenharmony_ci
24e41f4b71Sopenharmony_ciThe file name must comply with the following specifications:
25e41f4b71Sopenharmony_ci- The file name consists of a valid file name and an image or video file name extension.
26e41f4b71Sopenharmony_ci- The file name cannot exceed 255 characters.
27e41f4b71Sopenharmony_ci- The file name cannot contain any of the following characters:<br> . .. \ / : * ? " ' ` < > | { } [ ]
28e41f4b71Sopenharmony_ci
29e41f4b71Sopenharmony_ci**System API**: This is a system API.
30e41f4b71Sopenharmony_ci
31e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core
32e41f4b71Sopenharmony_ci
33e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.WRITE_IMAGEVIDEO
34e41f4b71Sopenharmony_ci
35e41f4b71Sopenharmony_ci**Parameters**
36e41f4b71Sopenharmony_ci
37e41f4b71Sopenharmony_ci| Name     | Type  | Mandatory| Description                      |
38e41f4b71Sopenharmony_ci| ----------- | ------ | ---- | -------------------------- |
39e41f4b71Sopenharmony_ci| displayName | string | Yes  | File name of the asset to create. |
40e41f4b71Sopenharmony_ci
41e41f4b71Sopenharmony_ci**Return value**
42e41f4b71Sopenharmony_ci
43e41f4b71Sopenharmony_ci| Type                                     | Description                               |
44e41f4b71Sopenharmony_ci| ---------------------------------------- | ----------------------------------------- |
45e41f4b71Sopenharmony_ci| Promise&lt;[PhotoAsset](#photoasset)&gt; | Promise used to return the created asset. |
46e41f4b71Sopenharmony_ci
47e41f4b71Sopenharmony_ci**Error codes**
48e41f4b71Sopenharmony_ci
49e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md).
50e41f4b71Sopenharmony_ci
51e41f4b71Sopenharmony_ci| ID| Error Message                                                    |
52e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------------------ |
53e41f4b71Sopenharmony_ci| 202      | Called by non-system application.                            |
54e41f4b71Sopenharmony_ci| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
55e41f4b71Sopenharmony_ci| 201      | Permission denied.                                           |
56e41f4b71Sopenharmony_ci| 13900020 | Invalid argument.                                            |
57e41f4b71Sopenharmony_ci| 14000001 | Invalid display name.                                        |
58e41f4b71Sopenharmony_ci| 14000011 | Internal system error                                        |
59e41f4b71Sopenharmony_ci
60e41f4b71Sopenharmony_ci**Example**
61e41f4b71Sopenharmony_ci
62e41f4b71Sopenharmony_ci```ts
63e41f4b71Sopenharmony_ciasync function example() {
64e41f4b71Sopenharmony_ci  console.info('createAssetDemo');
65e41f4b71Sopenharmony_ci  try {
66e41f4b71Sopenharmony_ci    let testFileName: string = 'testFile' + Date.now() + '.jpg';
67e41f4b71Sopenharmony_ci    let photoAsset: sendablePhotoAccessHelper.PhotoAsset = await phAccessHelper.createAsset(testFileName);
68e41f4b71Sopenharmony_ci    console.info('createAsset file displayName' + photoAsset.displayName);
69e41f4b71Sopenharmony_ci    console.info('createAsset successfully');
70e41f4b71Sopenharmony_ci  } catch (err) {
71e41f4b71Sopenharmony_ci    console.error(`createAsset failed, error: ${err.code}, ${err.message}`);
72e41f4b71Sopenharmony_ci  }
73e41f4b71Sopenharmony_ci}
74e41f4b71Sopenharmony_ci```
75e41f4b71Sopenharmony_ci
76e41f4b71Sopenharmony_ci### createAsset
77e41f4b71Sopenharmony_ci
78e41f4b71Sopenharmony_cicreateAsset(displayName: string, options: PhotoCreateOptions): Promise&lt;PhotoAsset&gt;
79e41f4b71Sopenharmony_ci
80e41f4b71Sopenharmony_ciCreates an asset with the specified file name and options. This API uses a promise to return the result.
81e41f4b71Sopenharmony_ci
82e41f4b71Sopenharmony_ciThe file name must comply with the following specifications:
83e41f4b71Sopenharmony_ci- The file name consists of a valid file name and an image or video file name extension.
84e41f4b71Sopenharmony_ci- The file name cannot exceed 255 characters.
85e41f4b71Sopenharmony_ci- The file name cannot contain any of the following characters:<br> . .. \ / : * ? " ' ` < > | { } [ ]
86e41f4b71Sopenharmony_ci
87e41f4b71Sopenharmony_ci**System API**: This is a system API.
88e41f4b71Sopenharmony_ci
89e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core
90e41f4b71Sopenharmony_ci
91e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.WRITE_IMAGEVIDEO
92e41f4b71Sopenharmony_ci
93e41f4b71Sopenharmony_ci**Parameters**
94e41f4b71Sopenharmony_ci
95e41f4b71Sopenharmony_ci| Name     | Type                                                        | Mandatory| Description                      |
96e41f4b71Sopenharmony_ci| ----------- | ------------------------------------------------------------ | ---- | -------------------------- |
97e41f4b71Sopenharmony_ci| displayName | string                                                       | Yes  | File name of the asset to create. |
98e41f4b71Sopenharmony_ci| options     | [PhotoCreateOptions](js-apis-photoAccessHelper-sys.md#photocreateoptions) | Yes  | Options for creating the asset.  |
99e41f4b71Sopenharmony_ci
100e41f4b71Sopenharmony_ci**Return value**
101e41f4b71Sopenharmony_ci
102e41f4b71Sopenharmony_ci| Type                                     | Description                               |
103e41f4b71Sopenharmony_ci| ---------------------------------------- | ----------------------------------------- |
104e41f4b71Sopenharmony_ci| Promise&lt;[PhotoAsset](#photoasset)&gt; | Promise used to return the created asset. |
105e41f4b71Sopenharmony_ci
106e41f4b71Sopenharmony_ci**Error codes**
107e41f4b71Sopenharmony_ci
108e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md).
109e41f4b71Sopenharmony_ci
110e41f4b71Sopenharmony_ci| ID| Error Message                                                    |
111e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------------------ |
112e41f4b71Sopenharmony_ci| 202      | Called by non-system application.                            |
113e41f4b71Sopenharmony_ci| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
114e41f4b71Sopenharmony_ci| 201      | Permission denied.                                           |
115e41f4b71Sopenharmony_ci| 13900020 | Invalid argument.                                            |
116e41f4b71Sopenharmony_ci| 14000001 | Invalid display name.                                        |
117e41f4b71Sopenharmony_ci| 14000011 | Internal system error                                        |
118e41f4b71Sopenharmony_ci
119e41f4b71Sopenharmony_ci**Example**
120e41f4b71Sopenharmony_ci
121e41f4b71Sopenharmony_ci```ts
122e41f4b71Sopenharmony_ciasync function example() {
123e41f4b71Sopenharmony_ci  console.info('createAssetDemo');
124e41f4b71Sopenharmony_ci  try {
125e41f4b71Sopenharmony_ci    let testFileName:string = 'testFile' + Date.now() + '.jpg';
126e41f4b71Sopenharmony_ci    let createOption: photoAccessHelper.PhotoCreateOptions = {
127e41f4b71Sopenharmony_ci      subtype: photoAccessHelper.PhotoSubtype.DEFAULT
128e41f4b71Sopenharmony_ci    }
129e41f4b71Sopenharmony_ci    let photoAsset: sendablePhotoAccessHelper.PhotoAsset = await phAccessHelper.createAsset(testFileName, createOption);
130e41f4b71Sopenharmony_ci    console.info('createAsset file displayName' + photoAsset.displayName);
131e41f4b71Sopenharmony_ci    console.info('createAsset successfully');
132e41f4b71Sopenharmony_ci  } catch (err) {
133e41f4b71Sopenharmony_ci    console.error(`createAsset failed, error: ${err.code}, ${err.message}`);
134e41f4b71Sopenharmony_ci  }
135e41f4b71Sopenharmony_ci}
136e41f4b71Sopenharmony_ci```
137e41f4b71Sopenharmony_ci
138e41f4b71Sopenharmony_ci### getHiddenAlbums
139e41f4b71Sopenharmony_ci
140e41f4b71Sopenharmony_cigetHiddenAlbums(mode: HiddenPhotosDisplayMode, options?: FetchOptions): Promise&lt;FetchResult&lt;Album&gt;&gt;
141e41f4b71Sopenharmony_ci
142e41f4b71Sopenharmony_ciObtains hidden albums based on the specified display mode and retrieval options. This API uses a promise to return the result.
143e41f4b71Sopenharmony_ci
144e41f4b71Sopenharmony_ci**System API**: This is a system API.
145e41f4b71Sopenharmony_ci
146e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.READ_IMAGEVIDEO and ohos.permission.MANAGE_PRIVATE_PHOTOS
147e41f4b71Sopenharmony_ci
148e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core
149e41f4b71Sopenharmony_ci
150e41f4b71Sopenharmony_ci**Parameters**
151e41f4b71Sopenharmony_ci
152e41f4b71Sopenharmony_ci| Name | Type                                                        | Mandatory| Description                                          |
153e41f4b71Sopenharmony_ci| ------- | ------------------------------------------------------------ | ---- | ---------------------------------------------- |
154e41f4b71Sopenharmony_ci| mode    | [HiddenPhotosDisplayMode](js-apis-photoAccessHelper-sys.md#hiddenphotosdisplaymode11) | Yes  | Display mode of hidden albums.                        |
155e41f4b71Sopenharmony_ci| options | [FetchOptions](js-apis-photoAccessHelper.md#fetchoptions)    | No  | Options for retrieving the albums. If this parameter is not specified, the albums are retrieved based on the display mode. |
156e41f4b71Sopenharmony_ci
157e41f4b71Sopenharmony_ci**Return value**
158e41f4b71Sopenharmony_ci
159e41f4b71Sopenharmony_ci| Type                                                        | Description                               |
160e41f4b71Sopenharmony_ci| ------------------------------------------------------------ | ----------------------------------- |
161e41f4b71Sopenharmony_ci| Promise&lt;[FetchResult](js-apis-photoAccessHelper.md#fetchresult)&lt;[Album](#album)&gt;&gt; | Promise used to return the result.|
162e41f4b71Sopenharmony_ci
163e41f4b71Sopenharmony_ci**Error codes**
164e41f4b71Sopenharmony_ci
165e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md).
166e41f4b71Sopenharmony_ci
167e41f4b71Sopenharmony_ci| ID| Error Message                                                    |
168e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------------------ |
169e41f4b71Sopenharmony_ci| 201      | Permission verification failed, usually the result returned by VerifyAccessToken. |
170e41f4b71Sopenharmony_ci| 202      | Permission verification failed, application which is not a system application uses system API. |
171e41f4b71Sopenharmony_ci| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
172e41f4b71Sopenharmony_ci| 14000011 | Internal system error                                        |
173e41f4b71Sopenharmony_ci
174e41f4b71Sopenharmony_ci**Example**
175e41f4b71Sopenharmony_ci
176e41f4b71Sopenharmony_ci```ts
177e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
178e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
179e41f4b71Sopenharmony_ci
180e41f4b71Sopenharmony_ci// Obtain the preset hidden album.
181e41f4b71Sopenharmony_ciasync function getSysHiddenAlbum() {
182e41f4b71Sopenharmony_ci  console.info('getSysHiddenAlbumDemo');
183e41f4b71Sopenharmony_ci  phAccessHelper.getHiddenAlbums(photoAccessHelper.HiddenPhotosDisplayMode.ASSETS_MODE)
184e41f4b71Sopenharmony_ci    .then( async (fetchResult) => {
185e41f4b71Sopenharmony_ci      if (fetchResult === undefined) {
186e41f4b71Sopenharmony_ci        console.error('getSysHiddenAlbumPromise fetchResult is undefined');
187e41f4b71Sopenharmony_ci        return;
188e41f4b71Sopenharmony_ci      }
189e41f4b71Sopenharmony_ci      let hiddenAlbum: sendablePhotoAccessHelper.Album = await fetchResult.getFirstObject();
190e41f4b71Sopenharmony_ci      console.info('getAlbumsPromise successfully, albumUri: ' + hiddenAlbum.albumUri);
191e41f4b71Sopenharmony_ci      fetchResult.close();
192e41f4b71Sopenharmony_ci    }).catch((err: BusinessError) => {
193e41f4b71Sopenharmony_ci      console.error(`getSysHiddenAlbumPromise failed with err: ${err.code}, ${err.message}`);
194e41f4b71Sopenharmony_ci    });
195e41f4b71Sopenharmony_ci}
196e41f4b71Sopenharmony_ci
197e41f4b71Sopenharmony_ci// Obtain the hidden albums displayed by album, that is, the albums with hidden files. Such albums do not include the preset hidden album and the albums in the trash.
198e41f4b71Sopenharmony_ciasync function getHiddenAlbumsView() {
199e41f4b71Sopenharmony_ci  console.info('getHiddenAlbumsViewDemo');
200e41f4b71Sopenharmony_ci  phAccessHelper.getHiddenAlbums(photoAccessHelper.HiddenPhotosDisplayMode.ALBUMS_MODE).then( async (fetchResult) => {
201e41f4b71Sopenharmony_ci    if (fetchResult === undefined) {
202e41f4b71Sopenharmony_ci      console.error('getHiddenAlbumsViewPromise fetchResult is undefined');
203e41f4b71Sopenharmony_ci      return;
204e41f4b71Sopenharmony_ci    }
205e41f4b71Sopenharmony_ci    let albums: Array<sendablePhotoAccessHelper.Album> = await fetchResult.getAllObjects();
206e41f4b71Sopenharmony_ci    console.info('getHiddenAlbumsViewPromise successfully, albums size: ' + albums.length);
207e41f4b71Sopenharmony_ci
208e41f4b71Sopenharmony_ci    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
209e41f4b71Sopenharmony_ci    let fetchOption: photoAccessHelper.FetchOptions = {
210e41f4b71Sopenharmony_ci      fetchColumns: [],
211e41f4b71Sopenharmony_ci      predicates: predicates
212e41f4b71Sopenharmony_ci    };
213e41f4b71Sopenharmony_ci    for (let i = 0; i < albums.length; i++) {
214e41f4b71Sopenharmony_ci      // Obtain hidden files in the album.
215e41f4b71Sopenharmony_ci      albums[i].getAssets(fetchOption).then((assetFetchResult) => {
216e41f4b71Sopenharmony_ci        console.info('album get hidden assets successfully, getCount: ' + assetFetchResult.getCount());
217e41f4b71Sopenharmony_ci      }).catch((err: BusinessError) => {
218e41f4b71Sopenharmony_ci        console.error(`album get hidden assets failed with error: ${err.code}, ${err.message}`);
219e41f4b71Sopenharmony_ci      });
220e41f4b71Sopenharmony_ci    }
221e41f4b71Sopenharmony_ci    fetchResult.close();
222e41f4b71Sopenharmony_ci  }).catch((err: BusinessError) => {
223e41f4b71Sopenharmony_ci    console.error(`getHiddenAlbumsViewPromise failed with err: ${err.code}, ${err.message}`);
224e41f4b71Sopenharmony_ci  });
225e41f4b71Sopenharmony_ci}
226e41f4b71Sopenharmony_ci```
227e41f4b71Sopenharmony_ci
228e41f4b71Sopenharmony_ci## PhotoAsset
229e41f4b71Sopenharmony_ci
230e41f4b71Sopenharmony_ciProvides APIs for encapsulating file asset attributes.
231e41f4b71Sopenharmony_ci
232e41f4b71Sopenharmony_ci### requestSource
233e41f4b71Sopenharmony_ci
234e41f4b71Sopenharmony_cirequestSource(): Promise&lt;number&gt;
235e41f4b71Sopenharmony_ci
236e41f4b71Sopenharmony_ciOpens the source file to obtain the file descriptor (FD). This API uses a promise to return the result.
237e41f4b71Sopenharmony_ci
238e41f4b71Sopenharmony_ci**System API**: This is a system API.
239e41f4b71Sopenharmony_ci
240e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.READ_IMAGEVIDEO
241e41f4b71Sopenharmony_ci
242e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core
243e41f4b71Sopenharmony_ci
244e41f4b71Sopenharmony_ci**Return value**
245e41f4b71Sopenharmony_ci
246e41f4b71Sopenharmony_ci| Type                 | Description                       |
247e41f4b71Sopenharmony_ci| --------------------- | --------------------------- |
248e41f4b71Sopenharmony_ci| Promise&lt;number&gt; | Promise used to return the FD obtained. |
249e41f4b71Sopenharmony_ci
250e41f4b71Sopenharmony_ci**Error codes**
251e41f4b71Sopenharmony_ci
252e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md).
253e41f4b71Sopenharmony_ci
254e41f4b71Sopenharmony_ci| ID| Error Message                                                    |
255e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------------------ |
256e41f4b71Sopenharmony_ci| 201      | Permission denied.                                           |
257e41f4b71Sopenharmony_ci| 202      | Called by non-system application.                            |
258e41f4b71Sopenharmony_ci| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. |
259e41f4b71Sopenharmony_ci| 14000011 | Internal system error                                        |
260e41f4b71Sopenharmony_ci
261e41f4b71Sopenharmony_ci**Example**
262e41f4b71Sopenharmony_ci
263e41f4b71Sopenharmony_ci```ts
264e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
265e41f4b71Sopenharmony_ci
266e41f4b71Sopenharmony_ciasync function example() {
267e41f4b71Sopenharmony_ci  try {
268e41f4b71Sopenharmony_ci    console.info('requsetSourcePromiseDemo')
269e41f4b71Sopenharmony_ci    let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
270e41f4b71Sopenharmony_ci    let fetchOptions: photoAccessHelper.FetchOptions = {
271e41f4b71Sopenharmony_ci      fetchColumns: [],
272e41f4b71Sopenharmony_ci      predicates: predicates
273e41f4b71Sopenharmony_ci    };
274e41f4b71Sopenharmony_ci    let fetchResult: sendablePhotoAccessHelper.FetchResult<sendablePhotoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOptions);
275e41f4b71Sopenharmony_ci    let photoAsset: sendablePhotoAccessHelper.PhotoAsset = await fetchResult.getFirstObject();
276e41f4b71Sopenharmony_ci    let fd = await photoAsset.requestSource();
277e41f4b71Sopenharmony_ci    console.info('Source fd is ' + fd);
278e41f4b71Sopenharmony_ci  } catch (err) {
279e41f4b71Sopenharmony_ci    console.error(`requsetSourcePromiseDemo failed with error: ${err.code}, ${err.message}`);
280e41f4b71Sopenharmony_ci  }
281e41f4b71Sopenharmony_ci}
282e41f4b71Sopenharmony_ci```
283e41f4b71Sopenharmony_ci
284e41f4b71Sopenharmony_ci### getAnalysisData
285e41f4b71Sopenharmony_ci
286e41f4b71Sopenharmony_cigetAnalysisData(analysisType: AnalysisType): Promise\<string>
287e41f4b71Sopenharmony_ci
288e41f4b71Sopenharmony_ciObtains analysis data. This API uses a promise to return the result.
289e41f4b71Sopenharmony_ci
290e41f4b71Sopenharmony_ci**System API**: This is a system API.
291e41f4b71Sopenharmony_ci
292e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.READ\_IMAGEVIDEO
293e41f4b71Sopenharmony_ci
294e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core
295e41f4b71Sopenharmony_ci
296e41f4b71Sopenharmony_ci**Parameters**
297e41f4b71Sopenharmony_ci
298e41f4b71Sopenharmony_ci| Name      | Type                                                        | Mandatory| Description                    |
299e41f4b71Sopenharmony_ci| :----------- | :----------------------------------------------------------- | :--- | :----------------------- |
300e41f4b71Sopenharmony_ci| analysisType | [AnalysisType](js-apis-photoAccessHelper-sys.md#analysistype11) | Yes  | Smart analysis type.|
301e41f4b71Sopenharmony_ci
302e41f4b71Sopenharmony_ci**Return value**
303e41f4b71Sopenharmony_ci
304e41f4b71Sopenharmony_ci| Type               | Description                               |
305e41f4b71Sopenharmony_ci| :------------------ | :---------------------------------- |
306e41f4b71Sopenharmony_ci| Promise&lt;void&gt; | Promise used to return the analysis result obtained.|
307e41f4b71Sopenharmony_ci
308e41f4b71Sopenharmony_ci**Error codes**
309e41f4b71Sopenharmony_ci
310e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md).
311e41f4b71Sopenharmony_ci
312e41f4b71Sopenharmony_ci| ID| Error Message                                                    |
313e41f4b71Sopenharmony_ci| :------- | :----------------------------------------------------------- |
314e41f4b71Sopenharmony_ci| 201      | Permission denied.                                           |
315e41f4b71Sopenharmony_ci| 202      | Called by non-system application.                            |
316e41f4b71Sopenharmony_ci| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
317e41f4b71Sopenharmony_ci| 14000011 | Internal system error                                        |
318e41f4b71Sopenharmony_ci
319e41f4b71Sopenharmony_ci**Example**
320e41f4b71Sopenharmony_ci
321e41f4b71Sopenharmony_ci```ts
322e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData';
323e41f4b71Sopenharmony_ci
324e41f4b71Sopenharmony_ciasync function example() {
325e41f4b71Sopenharmony_ci  try {
326e41f4b71Sopenharmony_ci    console.info('getAnalysisDataDemo')
327e41f4b71Sopenharmony_ci    let fetchOptions: photoAccessHelper.FetchOptions = {
328e41f4b71Sopenharmony_ci      fetchColumns: [],
329e41f4b71Sopenharmony_ci      predicates: new dataSharePredicates.DataSharePredicates()
330e41f4b71Sopenharmony_ci    }
331e41f4b71Sopenharmony_ci    let fetchResult: sendablePhotoAccessHelper.FetchResult<sendablePhotoAccessHelper.PhotoAsset> =
332e41f4b71Sopenharmony_ci      await phAccessHelper.getAssets(fetchOptions);
333e41f4b71Sopenharmony_ci    let photoAsset: sendablePhotoAccessHelper.PhotoAsset = await fetchResult.getFirstObject();
334e41f4b71Sopenharmony_ci    if (photoAsset != undefined) {
335e41f4b71Sopenharmony_ci      let analysisData: string = await photoAsset.getAnalysisData(
336e41f4b71Sopenharmony_ci        photoAccessHelper.AnalysisType.ANALYSIS_OCR);
337e41f4b71Sopenharmony_ci      console.info('get ocr result: ' + JSON.stringify(analysisData));
338e41f4b71Sopenharmony_ci    }
339e41f4b71Sopenharmony_ci    fetchResult.close();
340e41f4b71Sopenharmony_ci  } catch (err) {
341e41f4b71Sopenharmony_ci    console.error(`getAnalysisDataDemofailed with error: ${err.code}, ${err.message}`);
342e41f4b71Sopenharmony_ci  }
343e41f4b71Sopenharmony_ci}
344e41f4b71Sopenharmony_ci```
345e41f4b71Sopenharmony_ci
346e41f4b71Sopenharmony_ci## Album
347e41f4b71Sopenharmony_ci
348e41f4b71Sopenharmony_ciProvides APIs to manage albums.
349e41f4b71Sopenharmony_ci
350e41f4b71Sopenharmony_ci## AlbumType
351e41f4b71Sopenharmony_ci
352e41f4b71Sopenharmony_ciEnumerates the album types.
353e41f4b71Sopenharmony_ci
354e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core
355e41f4b71Sopenharmony_ci
356e41f4b71Sopenharmony_ci| Name | Value  | Description                                          |
357e41f4b71Sopenharmony_ci| ----- | ---- | ---------------------------------------------- |
358e41f4b71Sopenharmony_ci| SMART | 4096 | Smart analysis album. **System API**: This is a system API.|
359e41f4b71Sopenharmony_ci
360e41f4b71Sopenharmony_ci## AlbumSubtype
361e41f4b71Sopenharmony_ci
362e41f4b71Sopenharmony_ciEnumerate the album subtypes.
363e41f4b71Sopenharmony_ci
364e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core
365e41f4b71Sopenharmony_ci
366e41f4b71Sopenharmony_ci| Name                 | Value  | Description                                                      |
367e41f4b71Sopenharmony_ci| --------------------- | ---- | ---------------------------------------------------------- |
368e41f4b71Sopenharmony_ci| HIDDEN                | 1027 | Hidden album.<br/>**System API**: This is a system API.           |
369e41f4b71Sopenharmony_ci| TRASH                 | 1028 | Trash.<br/>**System API**: This is a system API.             |
370e41f4b71Sopenharmony_ci| SCREENSHOT            | 1029 | Album for screenshots and screen recording files.<br/>**System API**: This is a system API.     |
371e41f4b71Sopenharmony_ci| CAMERA                | 1030 | Album for photos and videos taken by the camera.<br/>**System API**: This is a system API. |
372e41f4b71Sopenharmony_ci| SOURCE\_GENERIC       | 2049 | Source album.<br/>**System API**: This is a system API.           |
373e41f4b71Sopenharmony_ci| CLASSIFY              | 4097 | Classified album. <br/>**System API**: This is a system API.           |
374e41f4b71Sopenharmony_ci| GEOGRAPHY\_LOCATION   | 4099 | Geographic location album. <br/>**System API**: This is a system API.           |
375e41f4b71Sopenharmony_ci| GEOGRAPHY\_CITY       | 4100 | City album. <br/>**System API**: This is a system API.           |
376e41f4b71Sopenharmony_ci| SHOOTING\_MODE        | 4101 | Shooting mode album. <br/>**System API**: This is a system API.       |
377e41f4b71Sopenharmony_ci| PORTRAIT              | 4102 | Portrait album. <br/>**System API**: This is a system API.           |
378e41f4b71Sopenharmony_ci| GROUP_PHOTO           | 4103 | Group photo album. <br/>**System API**: This is a system API.           |
379e41f4b71Sopenharmony_ci| HIGHLIGHT             | 4104 | Highlights album. <br/>**System API**: This is a system API.           |
380e41f4b71Sopenharmony_ci| HIGHLIGHT_SUGGESTIONS | 4105 | Highlights suggestion album. <br/>**System API**: This is a system API.       |
381