Я использую CLI phonegap, чтобы проверить, работают ли уведомления по умолчанию. Я уже добавил плагин уведомлений, и я получил этот вывод, когда запустил:
D:\PhoneGap\apps\alerttest› плагины Cordova ls
['org.apache.cordova.dialogs', 'org.apache.cordova.vibration']
Вот как выглядит мой JS:
document.addEventListener('deviceready', function () {
if (navigator.notification) {
//Im trying to overwrite the default alert & confirm here if navigator.notification is defined
window.alert = function (title, message, button, onFinish) {
navigator.notification.alert(message, onFinish, title, button);
};
window.confirm = function (title, message, buttons, onFinish) {
var onDone = function (btnIndex) {
switch (btnIndex) {
case 0:
break;
case 1:
onFinish(true);
break;
case 2:
onFinish(false);
break;
}
}
navigator.notification.confirm(message, onDone, title, buttons);
}
}
else {
var $alertBox = $(".alert-box.warning");
$alertBox.html("No notification support :(");
$alertBox.show();
}
});
Когда я использую эти функции,
alert("Alert", "I was clicked.", "Yes, I got it!", null);
confirm("Confirm", "2 + 2 = 4. Yes or no?", ["Yes", "No"], onDone);
Я получаю что-то вроде этого:
Что по-прежнему является предупреждением WebView. Я ожидал чего-то вроде этого:
Что я здесь делаю неправильно?
Использование CLI PhoneGap, номер версии: 3.1.0-0.2.0
Кроме того, я использую Android Jellybean (4.1.2), чтобы проверить эту функцию.