javascript - 当我在模拟器上运行我的代码时,Cordova-dialogs-plugin 没有显示
问题描述
我正在制作一个应用程序,其中一部分需要在我的相机拍照后弹出一个对话框。更具体地说,它是一个使用 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 代码,请告诉我,我会更新问题。
解决方案
当设备再次处于前台时,您需要等待设备准备好。
document.addEventListener('deviceready', function() {
navigator.notification.confirm(message, confirmCallback, title, buttonLabels);
}, false);
如果上述方法不起作用,我会检查您的控制台是否有任何错误。
推荐阅读
- c - 如果我们改变 char* ptr = ; 指针指向的地址会改变吗?
- dask - 如何确保“分区”的数量在 dask 和 dask-cudf 的工作人员之间平均分配?
- sql - 如何以表格格式调用我的输出以便我可以查询它?
- javascript - 无法在初始化之前调用表上的方法;试图调用方法“刷新”
- asp.net-core - 在 Elastic Beanstalk 上的 Asp.net core 3.0
- html - Bootstrap - 避免在移动视图中包装小控件
- react-native - 如何在本机反应中按下按钮时打开键盘?
- python - Ansible:在字典对象中处理正斜杠失败。抬头
- node.js - 如何处理此错误?对于模型“arms”的路径“_id”处的值“new”,转换为 ObjectId 失败
- javascript - 返回视图 MVC/Javascript/.NET Core 时出现问题