智能PhotoPicker是基于PhotoPicker的高阶功能,可以从大量图片中根据配置的智能推荐参数,快速筛选出符合条件的图片,并在PhotoPicker中推荐给用户选择。
应用拉起PhotoPicker时,可以配置智能推荐参数。当设备中有满足应用传入的智能推荐参数的图片时,PhotoPicker界面除了展示全量的图片外,还会展示符合条件的推荐图片。
-
选择特定类型([RecommendationType])的图片,如身份证、银行卡、驾驶证、行驶证、二维码等。当有符合应用指定类型的图片传入时,将显示对应的图片推荐页。
以指定图片类型为二维码为例,PhotoPicker界面上将出现"二维码"的Tab页,展示图库中的二维码图片。
-
在图文编辑时选择图片,系统可以根据应用传入的文本信息,提取出时间、地点、事物或活动,并根据提取的信息,推荐对应的图片展示在PhotoPicker中。
举例说明,如设置的推荐参数文本是"国庆节,带着女儿去了上海野生动物园,看到了凶猛的大象,漂亮的火烈鸟,还有她心心念念的大熊猫,小家伙可开心了。"
而且手机中有相应的图片,图片分析完成时,会在"推荐"的Tab页中展示出时间是国庆节,地点是上海野生动物园的大熊猫、火烈鸟、大象的图片。
约束与限制
-
智能PhotoPicker推荐图片的功能依赖于图片分析的结果,只有在媒体库中的图片分析完成后,系统才会进行推荐。
当设备在灭屏充电时,在电量充足、温度正常的情况下,系统将自动进行图片分析,分析完成后,图库主页的"相册"tab页里将显示分类相册。
如果图片带有地理位置信息,设备需要联网才可以正常解析图片中的位置信息。
-
当前仅支持推荐图片类型的文件。
开发方式
开发者可以通过两种方式实现PhotoPicker,拉起系统图库。接下来将分别介绍在这两种方式下,如何配置智能PhotoPicker参数。
- [调用ArkTS接口photoAccessHelper.PhotoViewPicker实现PhotoPicker]
- [调用ArkTS组件PhotoPickerComponent实现PhotoPicker]
通过接口实现
前提条件
-
在配置智能PhotoPicker参数之前,需要参考[PhotoPicker接口的开发指导],实现PhotoPicker。
-
在配置参数photoAccessHelper.PhotoSelectOptions时,媒体文件类型MIMEType([PhotoViewMIMETypes])需要配置为IMAGE_TYPE或IMAGE_VIDEO_TYPE。
说明
- 当MIMEType配置为IMAGE_TYPE或IMAGE_VIDEO_TYPE,并在后续步骤中配置了智能推荐参数,将根据参数推荐图片类型的文件。页签"全部"下展示的文件类型与MIMEType配置项一致。
- 当MIMEType配置为其他类型,智能推荐不生效。正常展示PhotoPicker筛选的全部照片。
根据特定类型推荐图片
当需要推荐特定类型的图片,如身份证、银行卡、驾驶证、行驶证、二维码等,可通过配置[RecommendationOptions].recommendationType,指定推荐的图片类型。
let recommendationOptions: photoAccessHelper.RecommendationOptions = {
recommendationType: photoAccessHelper.RecommendationType.QR_CODE // 配置枚举类型,不同的枚举值,推荐不同种类的图片
};
this.photoSelectOptions.recommendationOptions = recommendationOptions;// 将推荐参数赋值给 photoSelectOptions.recommendationOptions
根据文本信息推荐图片
当需要在图文编辑时,根据文本信息推荐图片,可通过配置[RecommendationOptions].textContextInfo。
说明
如果RecommendationOptions同时配置了recommendationType和textContextInfo,仅textContextInfo生效。
let textInfo: photoAccessHelper.TextContextInfo = {
text: '国庆节,带着女儿去了上海野生动物园,看到了凶猛的大象,漂亮的火烈鸟,还有她心心念念的大熊猫,小家伙可开心了。'
};
let recommendationOptions: photoAccessHelper.RecommendationOptions = {
textContextInfo: textInfo
};
this.photoSelectOptions.recommendationOptions = recommendationOptions;// 将推荐参数赋值给 photoSelectOptions.recommendationOptions
通过组件实现
前提条件
-
在配置智能PhotoPicker参数之前,需要参考[PhotoPicker组件的开发指导],实现PhotoPicker。
-
在配置PhotoPickerComponent的属性pickerOptions时,媒体文件类型MIMEType([PhotoViewMIMETypes])需要配置为IMAGE_TYPE或IMAGE_VIDEO_TYPE。
说明
- 当MIMEType配置为IMAGE_TYPE或IMAGE_VIDEO_TYPE,并在后续步骤中配置了智能推荐参数,将根据参数推荐图片类型的文件。页签"全部"下展示的文件类型与MIMEType配置项一致。
- 当MIMEType配置为其他类型,智能推荐不生效。正常展示PhotoPicker筛选的全部照片。
根据特定类型推荐图片
当需要推荐特定类型的图片,如身份证、银行卡、驾驶证、行驶证、二维码等,可通过配置[RecommendationOptions].recommendationType,指定推荐的图片类型。支持的图片类型可参考[RecommendationType]。
let recommendationOptions: photoAccessHelper.RecommendationOptions = {
recommendationType: photoAccessHelper.RecommendationType.QR_CODE // 配置枚举类型,不同的枚举值,推荐不同种类的图片
};
this.pickerOptions.recommendationOptions = recommendationOptions;// 将推荐参数赋值给 pickerOptions.recommendationOptions
根据文本信息推荐图片
当需要在图文编辑时,根据文本信息推荐图片,可通过配置[RecommendationOptions].textContextInfo。
说明
如果RecommendationOptions同时配置了recommendationType和textContextInfo,仅textContextInfo生效。
let textInfo: photoAccessHelper.TextContextInfo = {
text: '国庆节,带着女儿去了上海野生动物园,看到了凶猛的大象,漂亮的火烈鸟,还有她心心念念的大熊猫,小家伙可开心了。'
};
let recommendationOptions: photoAccessHelper.RecommendationOptions = {
textContextInfo: textInfo
};
this.pickerOptions.recommendationOptions = recommendationOptions;// 将推荐参数赋值给 pickerOptions.recommendationOptions
最后呢
很多开发朋友不知道需要学习那些鸿蒙技术?鸿蒙开发岗位需要掌握那些核心技术点?为此鸿蒙的开发学习必须要系统性的进行。
而网上有关鸿蒙的开发资料非常的少,假如你想学好鸿蒙的应用开发与系统底层开发。你可以参考这份资料,少走很多弯路,节省没必要的麻烦。由两位前阿里高级研发工程师联合打造的《鸿蒙NEXT星河版OpenHarmony开发文档 》里面内容包含了(ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战等等)鸿蒙(Harmony NEXT)技术知识点
如果你是一名Android、Java、前端等等开发人员,想要转入鸿蒙方向发展。可以直接领取这份资料辅助你的学习。下面是鸿蒙开发的学习路线图。
针对鸿蒙成长路线打造的鸿蒙学习文档。话不多说,我们直接看详细鸿蒙(OpenHarmony )手册(共计1236页)与鸿蒙(OpenHarmony )开发入门视频,帮助大家在技术的道路上更进一步。
- 《鸿蒙 (OpenHarmony)开发学习视频》
- 《鸿蒙生态应用开发V2.0白皮书》
- 《鸿蒙 (OpenHarmony)开发基础到实战手册》
- OpenHarmony北向、南向开发环境搭建
- 《鸿蒙开发基础》
- 《鸿蒙开发进阶》
- 《鸿蒙开发实战》
总结
鸿蒙---作为国家主力推送的国产操作系统。部分的高校已经取消了安卓课程,从而开设鸿蒙课程;企业纷纷跟进启动了鸿蒙研发。
并且鸿蒙是完全具备无与伦比的机遇和潜力的;预计到年底将有 5,000 款的应用完成原生鸿蒙开发,未来将会支持 50 万款的应用。那么这么多的应用需要开发,也就意味着需要有更多的鸿蒙人才。鸿蒙开发工程师也将会迎来爆发式的增长,学习鸿蒙势在必行! 自↓↓↓拿