同ip网站,做网站义乌,公路局网站建设方案,做网站找哪家好要钱吗鸿蒙手机cordova-plugin-camera不能拍照和图片不显示问题
一、运行环境
1、硬件
手机型号#xff1a;NOVA 7 系统#xff1a;HarmonyOS版本 4.0.0
2、软件
android SDK platforms#xff1a;14.0(API Level 34)、13.0#xff08;API Level 33#xff09; SDK Build-T…鸿蒙手机cordova-plugin-camera不能拍照和图片不显示问题
一、运行环境
1、硬件
手机型号NOVA 7 系统HarmonyOS版本 4.0.0
2、软件
android SDK platforms14.0(API Level 34)、13.0API Level 33 SDK Build-Tools: 33.0.3 JDK 17 Cordova-android-version:12.0.1 cordova-plugin-camera:7.0.0
二、运行拍照功能错误并且图片仅显示为图标
在基于cordova平台采用cemara最新版本插件开发拍照功能时出现以下错误 用推荐的FILE_URI模式显示图库图片时只显示为一个图标不能正确显示图片 并且运行“拍照”功能会出现错误
三、问题解决
对于FILE_URI只显示图标可能原因为Android11后限制了目录访问权限有待研究 解决方法 1、拍照和显示图库都选为DATA_URL方式 2、拍照出错根据harmonyOS和android的对应版本关系harmonyOS对应android12(API Level31) 因此在sdk manager中选择安装了SDK Platformandroid12(API Level31) 然后重新新建工程、新增platform和插件拷入源码运行拍照功能正常 目前系统运行环境为
程序index.js的关键部分源码如下
document.addEventListener(deviceready, onDeviceReady, false);
function onDeviceReady() {// Cordova is now initialized. Have fun!document.getElementById(takePicture).addEventListener(touchend, function() {navigator.camera.getPicture(onSuccess, onFail, { quality: 50,// destinationType: Camera.DestinationType.FILE_URI,destinationType: Camera.DestinationType.DATA_URL,sourceType: Camera.PictureSourceType.CAMERA,correctOrientation: true});});//Use from Librarydocument.querySelector(#usePicture).addEventListener(touchend, function() {navigator.camera.getPicture(onSuccess, onFail, { quality: 50,sourceType: Camera.PictureSourceType.PHOTOLIBRARY,destinationType: Camera.DestinationType.DATA_URL//FILE_URI会显示为图标});});function onSuccess(imageData) {var image document.getElementById(myImage);image.src data:image/jpeg;base64, imageData;//DATA_URL模式// image.src imageData;//FILE_URI模式}function onFail(message) {alert(错误:message);}
}