我正在使用phonegap CLI检查默认通知是否有效。我已经添加了通知插件,当我运行时,我得到了这个输出:
d:\的PhoneGap \应用\ alerttest> cordova plugins 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警报。我期待这样的事情:
我在这里做错了什么?
使用PhoneGap CLI,版本号:3.1.0-0.2.0
另外,我使用Android Jellybean(4.1.2)来检查此功能
答案 0 :(得分:4)
是的我明白了!我不得不将清单文件中的android:theme
从“@ * android:style / Theme.Black.NoTitleBar”更改为“@ * android:style / Theme.DeviceDefault”到中提琴,它可以正常工作!谢谢 Divesh Salian 给我一个关于此的线索!
答案 1 :(得分:0)
确保它在config.xml中 -
<feature name="Notification">
<param name="android-package" value="org.apache.cordova.dialogs.Notification" />
</feature>