PhoneGap的通知插件无法正常工作

时间:2014-06-03 09:01:11

标签: cordova

我已安装Notification插件,如下所示:

phonegap local plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-dialogs.git

然后我添加到config.xml文件夹中的/www/

<feature name="Notification">
    <param name="android-package" value="org.apache.cordova.dialogs.Notification" />
</feature>

我尝试在index.html

中测试这样的插件
    document.addEventListener("deviceready", onDeviceReady, true);

    function onDeviceReady() {
        alert('Device ready');

        var beep = function(){
           try{
               if(navigator != null){
                   navigator.notification.alert("2");
               }else{
                alert(navigator);
               }
           }catch(e){
               alert("Alert failed: " + e.message);
           }
        }

        beep();


    }

但我总是得到&#34;警报失败&#34;作为navigator.notification未定义的消息。

我正在使用phonegap 3.3.0-0.19.6并使用phonegap local build android

构建项目

我错过了什么?

4 个答案:

答案 0 :(得分:3)

我认为你应该使用不同的网址: phonegap local plugin add https://github.com/apache/cordova-plugin-dialogs

或者更好的是,使用Cordova CLI并执行: cordova plugin add org.apache.cordova.dialogs

然后 cordova prepare

那应该为你改变config.xml等。

答案 1 :(得分:1)

我正在使用phonegap云构建,并为我添加以下行到phonegap config.xml修复了问题

<gap:plugin name="org.apache.cordova.dialogs" />

答案 2 :(得分:0)

检查/assets/www/cordova_plugins.js文件,看看它对通知插件的引用是否如此,

{
        "file": "plugins/org.apache.cordova.dialogs/www/notification.js",
        "id": "org.apache.cordova.dialogs.notification",
        "merges": [
            "navigator.notification"
        ]
    },
    {
        "file": "plugins/org.apache.cordova.dialogs/www/android/notification.js",
        "id": "org.apache.cordova.dialogs.notification_android",
        "merges": [
            "navigator.notification"
        ]
    },

同时检查/assets/www/plugins/org.apache.cordova.dialogs/www文件夹内容。是否与cordova_plugins.js文件中引用的相同?

答案 3 :(得分:0)

我遇到了同样的问题,这是你必须要做的才能让它发挥作用:

使用cordova cli:

 cordova plugin add org.apache.cordova.dialogs

cordova build

然后,cordova构建并不总是在config.xml中添加正确的行 - 所以我们必须将其更改为以下内容: (在 app / res / xml / config.xml - 非www文件夹中)

<feature name="Notification">
    <param name="android-package" value="org.apache.cordova.dialogs.Notification" />
</feature>