【发布时间】:2017-07-19 01:17:05
【问题描述】:
我在 2 个月前开始进行 Cordova Android 编程。一切都很好,主要是现在不工作的相机。但是上周我的项目目录如何被删除,我重新安装了cordova的所有插件和已编译的项目,但现在它在相机点击上显示错误“非法参数异常”,令人惊讶的是我没有更改单行代码,它也可以正常工作在其他开发者机器上。
cordova 插件添加 cordova-plugin-camera 从相机插件安装中使用的命令。
camera_app.js 文件
var pictureSource; // picture source
var destinationType; // sets the format of returned value
// Wait for device API libraries to load
//
document.addEventListener("deviceready", onDeviceReady, false);
// device APIs are available
//
function onDeviceReady() {
pictureSource = navigator.camera.PictureSourceType;
destinationType = navigator.camera.DestinationType;
}
// Called when a photo is successfully retrieved
//
function onPhotoURISuccess(imageURI) {
// largeImage.src = imageURI;
console.log(imageURI);
console.log(document_type);
}
function getPhoto(docType) {
// Retrieve image file location from specified source
document_type = docType
$('.docError').hide();
navigator.camera.getPicture(onPhotoURISuccess, onFail, {
quality: 50,
destinationType: destinationType.FILE_URI
});
}
$('#file1').click(function() {
console.log('On camera click');
getPhoto("addressProof");
});
我尝试调试代码最终发现这是由于提供程序路径- java.lang.IllegalArgumentException:缺少 android.support.FILE_PROVIDER_PATHS 元数据
但我已经在 Android xml 文件中添加了提供程序路径元数据,因为它会在您添加 cordova 插件时自动添加。
<provider android:authorities="${applicationId}.provider" android:exported="false" android:grantUriPermissions="true" android:name="android.support.v4.content.FileProvider">
<meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/provider_paths" />
</provider>
cordova 插件 -
cordova-plugin-app-version 0.1.9 "AppVersion" 科尔多瓦插件相机 2.4.1 “相机” 科尔多瓦插件兼容 1.1.0 “兼容” 科尔多瓦插件白名单 1.3.2 “白名单” cordova-sqlite-storage 1.4.9 “Cordova sqlite 存储插件” ionic-plugin-keyboard 2.2.1 “键盘”
cordova 平台-
已安装平台: 安卓 6.2.3 可用平台: blackberry10 ~3.8.0(已弃用) 浏览器~4.1.0 webos ~3.7.0 windows ~5.0.0
NPM 版本- { npm: '3.10.3', 战神:'1.10.1-DEV', http_parser: '2.7.0', 重症监护室:'57.1', 模块:'48', 节点:'6.4.0', openssl: '1.0.2h', 紫外线:'1.9.1', v8: '5.0.71.60', zlib: '1.2.8' }
【问题讨论】:
-
您是否尝试过删除并重新添加 thr android 平台?这绝对不是插件问题,因为我在他们的官方错误跟踪器中没有看到任何与此相关的问题。更多的环境问题
-
cordova-android 版本?科尔多瓦 CLI 版本?
-
@jcesarmobile 科尔多瓦 7.0.1 版
-
您的 config.xml 中的
cordova-plugin-camera条目如何? -
@Gandhi 谢谢。以后我会一直照顾它的。
标签: android cordova android-camera cross-platform cordova-plugins