【问题标题】:Cordova-dialogs-plugin not showing when I run my code on emulator当我在模拟器上运行我的代码时,Cordova-dialogs-plugin 没有显示
【发布时间】:2019-04-22 20:42:33
【问题描述】:

我正在制作一个应用程序,其中一部分需要在我的相机拍摄照片后弹出一个对话框。更具体地说,它是一个使用 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 代码,请告诉我,我会更新问题。

【问题讨论】:

    标签: javascript android cordova cordova-plugins


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-11
      • 2019-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-19
      • 2021-06-09
      相关资源
      最近更新 更多