首页 > 解决方案 > 为什么 cordova-local-notification-plugin 不起作用(Phonegap,Android)?

问题描述

我用这个插件构建了一个 Phonegap 应用程序,它似乎在应用程序中使用: 在此处输入图像描述

config.xml

<plugin spec="https://github.com/katzer/cordova-plugin-local-notifications.git#b8f358e" />

但是当我尝试发送本地通知时,插件似乎不起作用。我试过这个:

    document.addEventListener('deviceready', function () 
    {
        alert(1);


        cordova.plugins.notification.local.schedule({
           id:      1,
           title:   'Some Timer',
           message: 'Some Message'
        });

        alert(2);

    }, false);

但只有第一个alert有效,这就是为什么我认为该插件无法正常工作。那么如何构建一个应用程序来发送本地通知呢?

非常感谢 :-)


科尔多瓦-v 9.0.0 (cordova-lib@9.0.1)

科尔多瓦插件 ls cordova-plugin-whitelist 1.3.4 “白名单”

但是如上图,我在config.xml中添加了local.notification插件,Adobe Phonegap Build网页,说使用了插件。

cordova platform ls 已安装平台:android 8.0.0 browser 4.1.0 可用平台:electron ^1.0.0 ios ^5.0.0 osx ^5.0.0 windows ^7.0.0


PS:两天前我发布了一个类似的问题,但我对其进行了编辑以指定我的问题。

标签: javascriptandroidcordovapluginscordova-plugins

解决方案


感谢您分享文件。我能够成功运行您的应用程序,并且通知每次都有效。但是,您需要编辑代码如下

对于没有 ID 参数的通知

cordova.plugins.notification.local.schedule({
    title: 'My first notification',
    text: 'Thats pretty easy...',
    foreground: true
});

对于带有 ID 参数的通知,ID 应该是唯一的

cordova.plugins.notification.local.schedule([
    { id: 1, title: 'My Second notification' },
    { id: 2, title: 'My Third notification' }
]);

索引.js

var app = {
  // Application Constructor
  initialize: function() {
    document.addEventListener('deviceready', this.onDeviceReady.bind(this), false);
  },
  onDeviceReady: function() {
    this.receivedEvent('deviceready');
  },
  receivedEvent: function(id) {    
    oneNotification();
    multipleNotification();
  }
};

app.initialize();

function oneNotification() {
  cordova.plugins.notification.local.schedule({
    title: 'My first notification',
    text: 'Thats pretty easy...',
    foreground: true
  });
}

function multipleNotification() {
  cordova.plugins.notification.local.schedule([{
      id: 1,
      title: 'My Second notification'
    },
    {
      id: 2,
      title: 'My Third notification'
    }
  ]);
}

推荐阅读