适用于Android 6.0.1的Nexus 7上的Cordova Camera访问崩溃应用程序

时间:2016-08-25 13:43:52

标签: javascript android cordova

使用Cordova 6.3.1,我安装了以下Crodova插件: cordova-plugin-camera,cordova.plugins.diagnostic,phonegap-plugin-barcodescanner

我正在使用以下JavaScript代码访问相机并扫描QR码:

function scanQR() {
    cordova.plugins.diagnostic.requestCameraAuthorization(function(status) {
        console.log("Authorization request for camera returned " + status);
        if (status == cordova.plugins.diagnostic.permissionStatus.GRANTED) {
            try {
                cordova.plugins.barcodeScanner.scan(scanQRDone, function (error)   {
                    console.log(error);
                });
            } catch (e) {
                console.log(e.message);
            }
        }
    }, function (error) {
        console.log(error);
    });
}

function scanQRDone(result) {
    console.log(result);
}

requestCameraAuthorization调用会提示您在设备上进行确认,并在允许时返回状态GRANTED。 然而,对cordova.plugins.barcodeScanner.scan的调用只会使Nexus 7上的应用程序崩溃。

发生崩溃的实际行是cordova.js第940行:

var msgs = nativeApiProvider.get().exec(bridgeSecret, service, action, callbackId, argsJson);

其中service =“BarcodeScanner”和action =“scan” 看起来像本机代码中的某种版本不匹配,欢迎任何想法。

2 个答案:

答案 0 :(得分:0)

从头开始创建一个新的离子应用程序并将www文件夹的内容复制到其中已解决了这个问题。

答案 1 :(得分:0)

在config.xml文件中添加此

< platform name="android" > <br>
    < preference name="android-targetSdkVersion" value="23" /> <br>
< /platform>