Interfaces (其他)
说明:
本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
导入模块
import { photoAccessHelper } from '@kit.MediaLibraryKit';
MediaChangeRequest11+
媒体变更请求,资产变更请求和相册变更请求的父类型。
注意:
媒体变更请求必须在调用applyChanges后才会生效。
属性
模型约束:此接口仅可在Stage模型下使用。
原子化服务API:从API version 23开始,该接口支持在原子化服务中使用。
系统能力:SystemCapability.FileManagement.PhotoAccessHelper.Core
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| comment23+ | string | 是 | 否 | 用于MediaChangeRequest类型校验。 如果类(如MediaAssetChangeRequest或MediaAlbumChangeRequest)对象可以访问,就说明该类是MediaChangeRequest的实现类。 |
CreateOptions
图片或视频的创建选项。
title参数的规格如下:
- 不应包含扩展名。
- 文件名字符串长度为1~255。
系统能力:SystemCapability.FileManagement.PhotoAccessHelper.Core
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| title | string | 否 | 是 | 图片或者视频的标题。 原子化服务API: 从API version 11开始,该接口支持在原子化服务中使用。 |
| subtype12+ | PhotoSubtype | 否 | 是 | 图片或者视频的文件子类型。 原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。 |
FetchOptions
检索条件。
系统能力:SystemCapability.FileManagement.PhotoAccessHelper.Core
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| fetchColumns | Array<string> | 否 | 否 | 检索条件,指定列名查询。 对于照片,如果该参数为空,默认查询'uri'、'media_type'、'subtype'和'display_name',使用get接口获取当前对象的其他属性时将会报错。示例:fetchColumns: ['uri', 'title']。 对于相册,如果该参数为空,默认查询'uri'和'album_name'。 原子化服务API: 从API version 20开始,该接口支持在原子化服务中使用。 |
| predicates | dataSharePredicates.DataSharePredicates | 否 | 否 | 谓词查询,显示过滤条件。 原子化服务API: 从API version 20开始,该接口支持在原子化服务中使用。 |
RequestOptions11+
请求策略。
系统能力:SystemCapability.FileManagement.PhotoAccessHelper.Core
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| deliveryMode | DeliveryMode | 否 | 否 | 请求资源分发模式,可以指定对于该资源的请求策略,可被配置为快速模式,高质量模式,均衡模式三种策略。 |
| compatibleMode15+ | CompatibleMode | 否 | 是 | 配置HDR视频资源转码模式,可指定配置为转码和不转码两种策略。默认为原视频资源内容模式即不转码。 |
| mediaAssetProgressHandler15+ | MediaAssetProgressHandler | 否 | 是 | 配置HDR视频转码为SDR视频时的进度级回调。 |
ChangeData
监听器回调函数的返回值。
系统能力:SystemCapability.FileManagement.PhotoAccessHelper.Core
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| type | NotifyType | 否 | 否 | ChangeData的通知类型。 |
| uris | Array<string> | 否 | 否 | 相同NotifyType的所有uri,可以是PhotoAsset或Album。 |
| extraUris | Array<string> | 否 | 否 | 相册中变动文件的uri数组。可能为undefined,使用前需要检查是否为undefined。 |
TextContextInfo12+
文本信息,用于推荐图片的文本信息。
原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。
系统能力:SystemCapability.FileManagement.PhotoAccessHelper.Core
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| text | string | 否 | 是 | 如果需要根据文本(支持250字以内的简体中文)推荐相应的图片,则配置此参数。text默认是空字符串。 |
示例:
import { BusinessError } from '@kit.BasicServicesKit';
async function example(phAccessHelper: photoAccessHelper.PhotoAccessHelper) {
try {
let textInfo: photoAccessHelper.TextContextInfo = {
text: '上海野生动物园的大熊猫'
}
let recommendOptions: photoAccessHelper.RecommendationOptions = {
textContextInfo: textInfo
}
let options: photoAccessHelper.PhotoSelectOptions = {
MIMEType: photoAccessHelper.PhotoViewMIMETypes.IMAGE_TYPE,
maxSelectNumber: 1,
recommendationOptions: recommendOptions
}
let photoPicker = new photoAccessHelper.PhotoViewPicker();
photoPicker.select(options).then((PhotoSelectResult: photoAccessHelper.PhotoSelectResult) => {
console.info('PhotoViewPicker.select successfully, PhotoSelectResult uri: ' + JSON.stringify(PhotoSelectResult));
}).catch((err: BusinessError) => {
console.error(`PhotoViewPicker.select failed with err: ${err.code}, ${err.message}`);
});
} catch (error) {
let err: BusinessError = error as BusinessError;
console.error(`PhotoViewPicker failed with err: ${err.code}, ${err.message}`);
}
}
PhotoCreationConfig12+
保存图片/视频到媒体库的配置,包括保存的文件名等。
原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。
系统能力:SystemCapability.FileManagement.PhotoAccessHelper.Core
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| title | string | 否 | 是 | 图片或者视频的标题,不传入时由系统生成。参数规格为: - 不应包含扩展名。 - 文件名字符串长度为1~255(资产文件名为标题+扩展名)。 - 不允许出现的非法英文字符,包括:. \ / : * ? " ' ` < > | { } [ ] |
| fileNameExtension | string | 否 | 否 | 文件扩展名,例如'jpg'。 |
| photoType | PhotoType | 否 | 否 | 创建的文件类型PhotoType,IMAGE或者VIDEO。 |
| subtype | PhotoSubtype | 否 | 是 | 图片或者视频的文件子类型PhotoSubtype,不传入时默认为DEFAULT。 |
CreationSetting23+
保存图片或视频到媒体库时的配置项,包括保存的文件名、文件类型和其他相关参数。
模型约束:此接口仅可在Stage模型下使用。
原子化服务API: 从API version 23开始,该接口支持在原子化服务中使用。
系统能力:SystemCapability.FileManagement.PhotoAccessHelper.Core
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| title | string | 否 | 是 | 图片或者视频的标题。 不传入时由系统生成,参数规格如下: - 不应包含扩展名。 - 不允许出现的非法英文字符,包括:. \ / : * ? " ' ` < > | { } [ ] - 由于文件名由标题 + 扩展名组成,文件名字符串长度范围为[1, 255],因此请注意标题长度不宜过长。 |
| fileNameExtension | string | 否 | 否 | 文件扩展名,例如'jpg'。 |
| photoType | PhotoType | 否 | 否 | 创建的媒体文件类型PhotoType,包含IMAGE或VIDEO。 |
PhotoAssetChangeInfo20+
媒体资产(图片/视频)信息。
系统能力:SystemCapability.FileManagement.PhotoAccessHelper.Core
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| uri | string | 否 | 否 | 媒体文件资源uri。 |
| mediaType | PhotoType | 否 | 否 | 媒体资产的类型(图片/视频)。 |
| albumUri | string | 否 | 否 | 媒体资产(图片/视频)所属相册的uri。 |
PhotoAssetChangeData20+
媒体资产(图片/视频)的具体变更数据。
系统能力:SystemCapability.FileManagement.PhotoAccessHelper.Core
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| assetBeforeChange | PhotoAssetChangeInfo | null | 否 | 否 | 变更前的媒体资产(图片/视频)数据。如果是新增资产,assetBeforeChange为null。 |
| assetAfterChange | PhotoAssetChangeInfo | null | 否 | 否 | 变更后的媒体资产(图片/视频)数据。如果是删除资产,assetAfterChange为null。 |
| isContentChanged | boolean | 否 | 否 | 媒体资产(图片/视频)内容是否变化。true表示文件内容发生变化,false表示文件内容未发生变化。 |
| isDeleted | boolean | 否 | 否 | 媒体资产(图片/视频)是否被删除。true表示资产被彻底删除,false表示资产未被彻底删除。 |
PhotoAssetChangeInfos20+
媒体资产(图片/视频)的变更通知信息。
系统能力:SystemCapability.FileManagement.PhotoAccessHelper.Core
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| type | NotifyChangeType | 否 | 否 | 媒体资产(图片/视频)变更的通知类型。 |
| assetChangeDatas | PhotoAssetChangeData[] | null | 否 | 否 | 变更的媒体资产(图片/视频)数组。如果需要重新查询所有媒体资产,assetChangeDatas为null。 |
| isForRecheck | boolean | 否 | 否 | 应用是否应该重新查询所有媒体资产(图片/视频)信息。true表示需要重新查询所有资产,false表示无需查询所有资产。 注意: 在大量资产操作或者异常通知的场景下,应用收到的isForRecheck为true,表示重新查询所有资产信息。 |
AlbumChangeInfo20+
相册信息。
系统能力:SystemCapability.FileManagement.PhotoAccessHelper.Core
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| albumType | AlbumType | 否 | 否 | 相册类型。 |
| albumSubtype | AlbumSubtype | 否 | 否 | 相册子类型。 |
| albumName | string | 否 | 否 | 相册名。 |
| albumUri | string | 否 | 否 | 相册uri。 |
| imageCount | number | 否 | 否 | 相册中的图片数量。 |
| videoCount | number | 否 | 否 | 相册中的视频数量。 |
| count | number | 否 | 否 | 相册中的资产总数,包括图片和视频。 |
| coverUri | string | 否 | 否 | 相册封面资产的uri。 |
AlbumChangeData20+
相册的具体变更数据。
系统能力:SystemCapability.FileManagement.PhotoAccessHelper.Core
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| albumBeforeChange | AlbumChangeInfo | null | 否 | 否 | 变更前的相册数据。如果是新增相册,albumBeforeChange为null。 |
| albumAfterChange | AlbumChangeInfo | null | 否 | 否 | 变更后的相册数据。如果是删除相册,albumAfterChange为null。 |
AlbumChangeInfos20+
相册的变更通知信息。
系统能力:SystemCapability.FileManagement.PhotoAccessHelper.Core
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| type | NotifyChangeType | 否 | 否 | 相册变更的通知类型。 |
| albumChangeDatas | AlbumChangeData[] | null | 否 | 否 | 变更的相册数组。如果需要重新查询所有相册,albumChangeDatas为null。 |
| isForRecheck | boolean | 否 | 否 | 应用是否应该重新查询所有相册信息。true表示需要重新查询所有相册,false表示无需查询所有相册。 注意: 在大量相册操作或者异常通知的场景下,应用收到的isForRecheck为true,表示重新查询所有相册信息。 |
GridPinchMode23+
picker内宫格的捏合模式。
模型约束: 此接口仅可在Stage模型下使用。
原子化服务API: 从API version 23开始,该接口支持在原子化服务中使用。
系统能力:SystemCapability.FileManagement.PhotoAccessHelper.Core
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| gridPinchModeType | GridPinchModeType | 否 | 是 | 宫格捏合模式类型,配置即支持捏合功能,反之不支持捏合功能。 |
| defaultGridLevel | GridLevel | 否 | 是 | 拉起picker后宫格档位,默认为STANDARD。 |
AssetCompatibleCapability24+
资产兼容能力。
模型约束: 此接口仅可在Stage模型下使用。
系统能力:SystemCapability.FileManagement.PhotoAccessHelper.Core
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| supportedHighResolution | boolean | 否 | 否 | 是否支持启用高分辨率资产。true表示支持,false表示不支持。 原子化服务API: 从API version 24开始,该接口支持在原子化服务中使用。 |
| supportedMimeType | Array<string> | 否 | 是 | 支持MIME types的类型。 - 配置image/heic表示应用支持heif格式。 - 配置image/jpeg表示应用仅支持jpeg格式不支持heif格式。 起始版本: 26.0.0 原子化服务API: 从API版本26.0.0开始,该接口支持在原子化服务中使用。 |
MediaLibraryAvailability
媒体库可用性信息。
起始版本: 26.0.0
模型约束:此接口仅可在Stage模型下使用。
系统能力:SystemCapability.FileManagement.PhotoAccessHelper.Core
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| availabilityStatus | AvailabilityStatus | 否 | 否 | 媒体库可用性状态。 |
| unavailabilityReason | string | 否 | 否 | 媒体库不可用原因,例如"Database corrupted"。 |