当我在模拟器上运行代码时,Cordova-dialogs-plugin不显示

时间:2019-04-22 20:42:34

标签: javascript android cordova cordova-plugins

我正在制作一个应用程序,其中一部分需要在相机拍照后弹出对话框。更具体地说,这是一个使用navigator.notification.confirm

的确认对话框

我被困在对话部分。相机拍照后没有显示

我尝试调用函数initDialog();在我的cameraSuccess()函数中,但实际上并没有做什么。我已经设法只输入了一个常规的alert()代码,它就起作用了,所以问题肯定出在我尝试使用对话框插件的方式上。我什至尝试使用innerHTML创建一个按钮,一旦单击该按钮会导致对话框,但无济于事。

//camera code
function cameraSuccess(imageData){
    document.getElementById("camera-picture").src= imageData;
    initDialog();
}

function cameraError(error){
    alert(error);
}

function myCameraInit(){
    console.log(navigator.camera);
    var cameraOptions = {
        quality: 100,
        destinationType: navigator.camera.DestinationType.FILE_URI,
        sourceType: navigator.camera.PictureSourceType.CAMERA
    };
    navigator.camera.getPicture(cameraSuccess, cameraError, cameraOptions);
}

//dialogs code    
function initDialog() {
    var message = "Proceed with analysing photo?";
    var title = "Confirmation";
    var buttonLabels = "Ok, got it.";

    navigator.notification.confirm(message, confirmCallback, title, buttonLabels)
}

我期望的输出是在照相机拍摄照片后弹出对话框。我得到的输出是未弹出对话框。

如果需要HTML代码,请告诉我,我将更新问题。

1 个答案:

答案 0 :(得分:0)

当设备再次处于前台状态时,您需要等待设备准备就绪。

document.addEventListener('deviceready', function() {
  navigator.notification.confirm(message, confirmCallback, title, buttonLabels);
}, false);

如果上述方法不起作用,我将检查您的控制台是否有任何错误。