HarmonyOS 鸿蒙Next 有选择照片的API吗
HarmonyOS 鸿蒙Next 有选择照片的API吗
比如在android中,可以这样操作:
private static final int PICK_IMAGE_REQUEST = 1;
private void pickImage() {
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType("image/*");
startActivityForResult(intent, PICK_IMAGE_REQUEST);
}
那在harmony中,要怎么操作?使用photoAccessHelper好像需要自己去实现图片显示和选择图片的页面?
更多关于HarmonyOS 鸿蒙Next 有选择照片的API吗的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
import { photoAccessHelper } from '@kit.MediaLibraryKit';
import { BusinessError } from '@kit.BasicServicesKit';
[@Entry](/user/Entry)
[@Component](/user/Component)
struct GetPicPage {
build() {
Column() {
Button("pickImage").onClick(() => {
try {
let PhotoSelectOptions = new photoAccessHelper.PhotoSelectOptions();
PhotoSelectOptions.MIMEType = photoAccessHelper.PhotoViewMIMETypes.IMAGE_TYPE;
PhotoSelectOptions.maxSelectNumber = 5;
let photoPicker = new photoAccessHelper.PhotoViewPicker();
photoPicker.select(PhotoSelectOptions).then((PhotoSelectResult: photoAccessHelper.PhotoSelectResult) => {
console.info('PhotoViewPicker.select successfully, PhotoSelectResult uri: ' + JSON.stringify(PhotoSelectResult));
}).catch((err: BusinessError) => {
console.error('PhotoViewPicker.select failed with err: ' + JSON.stringify(err));
});
} catch (error) {
let err: BusinessError = error as BusinessError;
console.error('PhotoViewPicker failed with err: ' + JSON.stringify(err));
}
})
}
.height('100%')
.width('100%')
}
}
可以通过判断返回PhotoSelectResult中的photoUris数组是否为空来判断是否选图,因为这个数组本身存储的就是“图库选择后的媒体文件的uri数组”
关于PhotoSelectResult结果集的说明,可以在官网文档处了解详细信息:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V13/js-apis-file-picker-V13#photoselectresultdeprecated
更多关于HarmonyOS 鸿蒙Next 有选择照片的API吗的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
//打开图库获得图片string
private openPhoto(): Promise<string> {
return new Promise<string>((resolve) => {
let photoPicker: photoAccessHelper.PhotoViewPicker = new photoAccessHelper.PhotoViewPicker();
photoPicker.select({
MIMEType: photoAccessHelper.PhotoViewMIMETypes.IMAGE_TYPE,
maxSelectNumber: 1
}).then((res: photoAccessHelper.PhotoSelectResult) => {
resolve(res.photoUris[0]);
}).catch((err: BusinessError) => {
Logger.error('OCRDemo'+`Failed to get photo image uri. code:${err.code},message:${err.message}`);
resolve('');
})
})
}
可以这样试试
HarmonyOS 鸿蒙Next 有选择照片的API
HarmonyOS 鸿蒙Next确实提供了选择照片的API。对于开发者而言,在HarmonyOS 5.0及更高版本中,可以通过ArkTS框架来利用相关API实现照片选择功能。具体来说,Media Library Kit等组件中包含了用于访问和操作媒体库(包括照片)的API。
开发者可以通过这些API实现以下功能:
- 从系统相册中选择照片。
- 获取所选照片的URI或其他相关信息。
- 对所选照片进行进一步处理,如预览、编辑或上传等。
需要注意的是,开发者在使用这些API时,需要确保应用已经获得了相应的权限,如访问存储的权限,以及遵守HarmonyOS的隐私政策和用户数据保护规定。
如果开发者在集成这些API时遇到具体问题,可以查阅HarmonyOS的官方文档或开发者指南,以获取更详细的API使用说明和示例代码。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html 。