HarmonyOS鸿蒙Next中photoViewPicker传入RecommendationType不生效
HarmonyOS鸿蒙Next中photoViewPicker传入RecommendationType不生效 按照官方API 说明,在使用 PhotoViewPicker时传入RecommendationType,如二维码类型,未在相册中对二维码图片进行筛选。
试下这个emo,在浏览器下了两个二维码,直接拉起picker后,可以成功跳到了二维码分类的图库;
import { picker } from '@kit.CoreFileKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { photoAccessHelper } from '@kit.MediaLibraryKit';
@Entry
@Component
struct ListExample {
private arr: number[] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
/**
* 选择图片/视频
* @param maxSelectNumber 选择媒体文件的最大数目
* @param MIMEType 可选择的媒体文件类型
* @returns
*/
public selectPhoto(maxSelectNumber?: number, MIMEType?: picker.PhotoViewMIMETypes): Promise<Array<string>>{
return new Promise((resolve, reject) => {
let recommendationOptions: photoAccessHelper.RecommendationOptions = {
recommendationType: photoAccessHelper.RecommendationType.QR_CODE // 配置枚举类型,不同的枚举值,推荐不同种类的图片
};
let photoSelectOptions = new photoAccessHelper.PhotoSelectOptions
photoSelectOptions.MIMEType = photoAccessHelper.PhotoViewMIMETypes.IMAGE_TYPE;
photoSelectOptions.maxSelectNumber = maxSelectNumber || 1;
photoSelectOptions.recommendationOptions = recommendationOptions
const photoViewPicker = new photoAccessHelper.PhotoViewPicker();
photoViewPicker.select(photoSelectOptions).then(async (photoSelectResult: picker.PhotoSelectResult) => {
const selectUris = photoSelectResult.photoUris;
const base64List: Array<string> = [];
}).catch((err: BusinessError) => {
console.error(JSON.stringify(err))
reject(err)
})
})
}
build() {
Column() {
Button("选择").onClick(() => {
this.selectPhoto()
})
}
.width('100%')
.height('100%')
.backgroundColor(0xDCDCDC)
.padding({ top: 5 })
}
}
更多关于HarmonyOS鸿蒙Next中photoViewPicker传入RecommendationType不生效的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,photoViewPicker组件的RecommendationType参数用于指定照片选择的推荐类型。如果传入的RecommendationType不生效,可能是以下原因之一:
-
API版本不匹配:
RecommendationType可能仅在特定API版本中生效,检查设备或模拟器运行的HarmonyOS版本是否支持该参数。 -
参数值错误:确保传入的
RecommendationType值在枚举范围内,且拼写正确。例如,RecommendationType.RECOMMENDATION_TYPE_A应正确指定。 -
权限不足:某些推荐类型可能需要特定权限,确认已正确申请并授予相关权限。
-
组件初始化问题:
photoViewPicker组件可能未正确初始化,或在初始化过程中RecommendationType参数未生效。 -
系统限制:某些设备或系统版本可能对
RecommendationType的支持有限制,导致参数不生效。 -
代码逻辑错误:检查代码中是否有其他逻辑覆盖或修改了
RecommendationType的值。 -
SDK版本问题:使用的SDK版本可能不支持
RecommendationType参数,或存在已知问题,建议确认SDK版本是否最新。 -
系统缓存或延迟:系统可能因缓存或延迟未立即应用
RecommendationType参数,尝试重启设备或清除应用缓存。
如果以上原因均排除,建议参考官方文档或更新日志,确认RecommendationType参数的使用条件和限制。
在HarmonyOS鸿蒙Next中,photoViewPicker的RecommendationType参数可能未生效的原因包括:参数值设置错误、API版本不兼容、或系统权限未正确配置。建议检查以下步骤:
- 确保
RecommendationType值符合API文档要求。 - 确认使用的API版本支持该参数。
- 检查应用权限,确保已获取必要的访问权限。
- 查看官方文档或社区论坛,确认是否存在已知问题或更新。如果问题依旧,建议提交问题报告给华为开发者支持团队。

