【关键字】
调用 / 系统相机 / 获取 / 图片
【问题描述】
三方APP如何实现调用系统相机拍照?
【解决方案】
直接调用相机拍照可以使用want拉起相机,请参考如下代码:
invokeCamera(callback?: (uri: string) => void) {
const context = getContext(this) as common.UIAbilityContext
context.startAbilityForResult({
action: "ohos.want.action.imageCapture",
parameters: {
callBundleName: "com.neo.myapplication" //本应用bundlename
}
}, (err: BusinessError, data: common.AbilityResult) => {
if (err && err.code != 0) {
console.error("imageCapture error:" + `${JSON.stringify(err)}`);
return;
}
console.warn("imageCapture data:" + `${JSON.stringify(data)}`);
let uri = data?.want?.parameters?.resourceUri;
if (callback && uri) {
callback(uri.toString());
}
})
}
参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/camera-preparation-0000001820880021