notification.confirm回调没有触发phonegap iOS

时间:2012-07-03 05:29:28

标签: javascript iphone ios cordova

我正在使用Phonegap(Cordova)v1.9,这个应用程序仅供iPhone4 +使用。

我已经尝试了以下两种方法,同时也是这两种方法。

此代码之前已触发Phonegap的deviceready事件。

我正在使用iPhone配置实用程序来观看控制台,但我没有从下面的代码中获得任何内容。

另外,我正在使用Sencha Touch(v1.1)和jQuery。整个应用程序都没有发现冲突。

请帮帮忙?

function onConfirmCallback(button){
    console.log("onConfirmCallback");
    console.log(button);
}

var toConfirm = navigator.notification.confirm("You don't have a pincode set.\nWould you like to set one now?", onConfirmCallback, "Pincode", "Yes,No");
toConfirm.onAlertDismissed = function(index, label){
    console.log("onAlertDismissed");
    console.log(index);
}

1 个答案:

答案 0 :(得分:3)

您是否尝试过查找异常以查看可能发生的情况?

try
{
    var toConfirm = navigator.notification.confirm("You don't have a pincode set.\nWould you like to set one now?", onConfirmCallback, "Pincode", "Yes,No");
    toConfirm.onAlertDismissed = function(index, label) {
        console.log("onAlertDismissed");
        console.log(index);
    }
}
catch (ex)
{
    console.log(ex.message);
}

修改

以下评论中提到的示例(来自https://groups.google.com/group/phonegap/browse_thread/thread/126f56f4e296e555)适用于PhoneGap 0.9.2。我还没有看到v1.3的任何示例,其中confirm函数返回一个对象作为使用'toConfirm'。也许这会导致你的问题。您是否尝试过以下操作(删除与toConfirm相关的所有其他代码以简化问题)?

navigator.notification.confirm("You don't have a pincode set.\nWould you like to set one now?", onConfirmCallback, "Pincode", "Yes,No");

http://docs.phonegap.com/en/1.3.0/phonegap_notification_notification.md.html#notification.confirm

另外,您有没有理由不使用较新版本的PhoneGap(Cordova)?