HarmonyOS 鸿蒙Next 使用Camera Kit进行拍照后,系统相册未刷新出图片
HarmonyOS 鸿蒙Next 使用Camera Kit进行拍照后,系统相册未刷新出图片
使用Camera Kit进行拍照后,打开系统相册并未有刷新出图片,请问是否有办法在拍照后通知相册刷新
1、调用photoOutput的capture方法,在photoOutput.on(‘photoAvailable’, callback) 回调中拿到buffer
2、转换成PixelMap,使用photoAccessHelper.PhotoAccessHelper进行保存
async ImageWriteToAlbum(pixelMap ? : image.PixelMap) {
let context = getContext(this);
let phAccessHelper = photoAccessHelper.getPhotoAccessHelper(context);
let photoType: photoAccessHelper.PhotoType = photoAccessHelper.PhotoType.IMAGE;
let extension: string = ‘png’;
let options: photoAccessHelper.CreateOptions = { title: new Date().getTime().toString() }
let uri = await phAccessHelper.createAsset(photoType, extension, options)
console.error("uri: " + uri)
try {
if (pixelMap) {
let file: fs.File = fs.openSync(uri, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
let imagePacker: image.ImagePacker = image.createImagePacker();
let packOpts: image.PackingOption = { format: ‘image/png’, quality: 100 };
await imagePacker.packToFile(pixelMap, file.fd, packOpts);
fs.closeSync(file);
}
promptAction.showToast({ message: ‘已保存至相册’, duration: 2000 });
} catch (err) {
console.error("error is " + JSON.stringify(err))
promptAction.showToast({ message: ‘保存失败’, duration: 2000 });
}
}
<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>
更多关于HarmonyOS 鸿蒙Next 使用Camera Kit进行拍照后,系统相册未刷新出图片的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
添加 imagePacker.release()
let imagePacker: image.ImagePacker = image.createImagePacker();
let packOpts: image.PackingOption = { format: ‘image/png’, quality: 100 };
await imagePacker.packToFile(pixelMap , file.fd, packOpts);
fs.closeSync(file);
imagePacker.release()
<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>
更多关于HarmonyOS 鸿蒙Next 使用Camera Kit进行拍照后,系统相册未刷新出图片的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
HarmonyOS 鸿蒙Next 使用Camera Kit进行拍照后,系统相册未刷新出图片的问题,可能是由于拍照后图片未正确保存到系统相册的指定目录,或者相册应用未检测到新图片文件的添加。
-
检查保存路径:确保拍照后图片保存的路径是系统相册能够扫描到的公共目录,如外部存储的DCIM或Pictures文件夹下。如果保存在应用私有目录,系统相册通常无法直接访问。
-
触发媒体扫描:在图片保存后,可以调用系统的媒体扫描接口,通知相册应用有新文件添加。这通常通过发送广播或使用MediaScannerConnection类实现。
-
权限问题:确认应用已获取写入外部存储的权限,且用户已授权。在鸿蒙系统中,权限管理可能更为严格,需要特别注意。
-
相册应用缓存:有时系统相册的缓存可能导致图片未能及时显示,尝试重启相册应用或设备看是否能解决问题。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html