Class (MediaAlbumChangeRequest)
MediaAlbumChangeRequest implements MediaChangeRequest.
相册变更请求。
说明:
- 本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
- 本Class首批接口从API version 11开始支持。
导入模块
import { photoAccessHelper } from '@kit.MediaLibraryKit';
属性
模型约束:此接口仅可在Stage模型下使用。
系统能力:SystemCapability.FileManagement.PhotoAccessHelper.Core
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| comment23+ | string | 是 | 否 | 用于MediaChangeRequest类型校验。 如果类(如MediaAlbumChangeRequest)对象可以访问,就说明该类是MediaChangeRequest的实现类。 |
constructor11+
constructor(album: Album)
构造函数用于初始化新创建的对象。
系统能力:SystemCapability.FileManagement.PhotoAccessHelper.Core
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| album | Album | 是 | 需要变更的相册。 |
错误码:
| 错误码ID | 错误信息 |
|---|---|
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
| 14000011 | System inner fail. |
示例:
phAccessHelper的创建请参考photoAccessHelper.getPhotoAccessHelper的示例使用。
import { dataSharePredicates } from '@kit.ArkData';
async function example(phAccessHelper: photoAccessHelper.PhotoAccessHelper) {
console.info('MediaAlbumChangeRequest constructorDemo');
let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
let fetchOptions: photoAccessHelper.FetchOptions = {
fetchColumns: [],
predicates: predicates
};
let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.USER, photoAccessHelper.AlbumSubtype.USER_GENERIC, fetchOptions);
let album: photoAccessHelper.Album = await fetchResult.getFirstObject();
let albumChangeRequest: photoAccessHelper.MediaAlbumChangeRequest = new photoAccessHelper.MediaAlbumChangeRequest(album);
}
getAlbum11+
getAlbum(): Album
获取当前相册变更请求中的相册。
注意:
对于创建相册的变更请求,在调用接口applyChanges的提交生效之前,该接口会返回null。
系统能力:SystemCapability.FileManagement.PhotoAccessHelper.Core
返回值:
| 类型 | 说明 |
|---|---|
| Album | 返回当前相册变更请求中的相册。 |
错误码:
| 错误码ID | 错误信息 |
|---|---|
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. |
| 14000011 | System inner fail. |
示例:
phAccessHelper的创建请参考photoAccessHelper.getPhotoAccessHelper的示例使用。
async function example(phAccessHelper: photoAccessHelper.PhotoAccessHelper) {
console.info('getAlbumDemo');
try {
// 请确保图库内存在用户相册。
let albumFetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.USER, photoAccessHelper.AlbumSubtype.USER_GENERIC);
let album: photoAccessHelper.Album = await albumFetchResult.getFirstObject();
let albumChangeRequest: photoAccessHelper.MediaAlbumChangeRequest = new photoAccessHelper.MediaAlbumChangeRequest(album);
let changeRequestAlbum: photoAccessHelper.Album = albumChangeRequest.getAlbum();
console.info('change request album uri: ' + changeRequestAlbum.albumUri);
} catch (err) {
console.error(`getAlbumDemo failed with error: ${err.code}, ${err.message}`);
}
}
setAlbumName11+
setAlbumName(name: string): void
设置相册名称。
相册名参数规格:
- 相册名字符串长度为1~255。
- 不允许出现的非法英文字符,包括:
. \ / : * ? " ' ` < >|{ } [ ] - 英文字符大小写不敏感。
- 相册名不允许重名。
系统能力:SystemCapability.FileManagement.PhotoAccessHelper.Core
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| name | string | 是 | 待设置的相册名称。 |
错误码:
| 错误码ID | 错误信息 |
|---|---|
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
| 14000011 | System inner fail. |
示例:
phAccessHelper的创建请参考photoAccessHelper.getPhotoAccessHelper的示例使用。
async function example(phAccessHelper: photoAccessHelper.PhotoAccessHelper) {
console.info('setAlbumNameDemo');
try {
let albumFetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.USER, photoAccessHelper.AlbumSubtype.USER_GENERIC);
let album: photoAccessHelper.Album = await albumFetchResult.getFirstObject();
let albumChangeRequest: photoAccessHelper.MediaAlbumChangeRequest = new photoAccessHelper.MediaAlbumChangeRequest(album);
let newAlbumName: string = 'newAlbumName' + new Date().getTime();
albumChangeRequest.setAlbumName(newAlbumName);
await phAccessHelper.applyChanges(albumChangeRequest);
console.info('setAlbumName successfully');
} catch (err) {
console.error(`setAlbumNameDemo failed with error: ${err.code}, ${err.message}`);
}
}
addAssets11+
addAssets(assets: Array<PhotoAsset>): void
向相册中添加资产。
系统能力:SystemCapability.FileManagement.PhotoAccessHelper.Core
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| assets | Array<PhotoAsset> | 是 | 待添加到相册中的资产数组。 |
错误码:
| 错误码ID | 错误信息 |
|---|---|
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
| 14000011 | System inner fail. |
| 14000016 | Operation Not Support. |
示例:
phAccessHelper的创建请参考photoAccessHelper.getPhotoAccessHelper的示例使用。
import { dataSharePredicates } from '@kit.ArkData';
async function example(phAccessHelper: photoAccessHelper.PhotoAccessHelper) {
console.info('addAssetsDemo');
let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
let fetchOptions: photoAccessHelper.FetchOptions = {
fetchColumns: [],
predicates: predicates
};
try {
// 请确保图库内存在用户相册和照片。
let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOptions);
let asset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject();
let albumFetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.USER, photoAccessHelper.AlbumSubtype.USER_GENERIC);
let album: photoAccessHelper.Album = await albumFetchResult.getFirstObject();
let albumChangeRequest: photoAccessHelper.MediaAlbumChangeRequest = new photoAccessHelper.MediaAlbumChangeRequest(album);
albumChangeRequest.addAssets([asset]);
await phAccessHelper.applyChanges(albumChangeRequest);
console.info('addAssets successfully');
} catch (err) {
console.error(`addAssetsDemo failed with error: ${err.code}, ${err.message}`);
}
}
removeAssets11+
removeAssets(assets: Array<PhotoAsset>): void
从相册中移除资产。
系统能力:SystemCapability.FileManagement.PhotoAccessHelper.Core
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| assets | Array<PhotoAsset> | 是 | 待从相册中移除的资产数组。 |
错误码:
| 错误码ID | 错误信息 |
|---|---|
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
| 14000011 | System inner fail. |
| 14000016 | Operation Not Support. |
示例:
phAccessHelper的创建请参考photoAccessHelper.getPhotoAccessHelper的示例使用。
import { dataSharePredicates } from '@kit.ArkData';
async function example(phAccessHelper: photoAccessHelper.PhotoAccessHelper) {
console.info('removeAssetsDemo');
let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
let fetchOptions: photoAccessHelper.FetchOptions = {
fetchColumns: [],
predicates: predicates
};
try {
let albumFetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.USER, photoAccessHelper.AlbumSubtype.USER_GENERIC);
let album: photoAccessHelper.Album = await albumFetchResult.getFirstObject();
let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await album.getAssets(fetchOptions);
let asset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject();
let albumChangeRequest: photoAccessHelper.MediaAlbumChangeRequest = new photoAccessHelper.MediaAlbumChangeRequest(album);
albumChangeRequest.removeAssets([asset]);
await phAccessHelper.applyChanges(albumChangeRequest);
console.info('removeAssets successfully');
} catch (err) {
console.error(`removeAssetsDemo failed with error: ${err.code}, ${err.message}`);
}
}
你可能感兴趣的鸿蒙文章
openharmony 鸿蒙 capi-mediaassetmanager-oh-mediaassetmanager
openharmony 鸿蒙 arkts-apis-photoAccessHelper-MediaAssetProgressHandler
openharmony 鸿蒙 arkts-apis-photoAccessHelper-AbsAlbum
openharmony 鸿蒙 arkts-apis-photoAccessHelper-PhotoAccessHelper
openharmony 鸿蒙 arkts-apis-photoAccessHelper-QuickImageDataHandler
openharmony 鸿蒙 capi-media-access-helper-capi-h
openharmony 鸿蒙 arkts-apis-photoAccessHelper-PhotoAsset
openharmony 鸿蒙 capi-mediaassetmanager-oh-movingphoto
openharmony 鸿蒙 capi-mediaassetmanager
openharmony 鸿蒙 capi-mediaassetmanager-medialibrary-requestid