【问题标题】:Why is the cordova-local-notification-plugin not working (Phonegap, Android)?为什么 cordova-local-notification-plugin 不起作用(Phonegap,Android)?
【发布时间】:2019-12-12 11:42:23
【问题描述】:

我用this plugin 构建了一个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 有效,这就是我认为该插件无法正常工作的原因。那么如何构建一个应用来发送本地通知呢?

非常感谢:-)


cordova -v 9.0.0 (cordova-lib@9.0.1)

cordova 插件 ls cordova-plugin-whitelist 1.3.4 “白名单”

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

cordova 平台 ls 安装平台: 安卓 8.0.0 浏览器 4.1.0 可用平台: 电子^1.0.0 ios ^5.0.0 osx ^5.0.0 窗户^7.0.0


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

【问题讨论】:

  • 您能提供您正在处理的版本吗?只显示cordova -vcordova plugin lscordova platform ls的结果
  • 当然,我编辑了帖子以分享信息。谢谢
  • 您是如何断定问题出自本地通知插件的?
  • 它是唯一没有预装的插件,没有插件我可以构建应用程序
  • 我现在可以构建应用程序,但通知仍然不起作用

标签: javascript android cordova plugins cordova-plugins


【解决方案1】:

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

对于没有 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' }
]);

Index.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'
    }
  ]);
}

【讨论】:

  • 哇,这真是令人印象深刻!但它还不适合我。您是使用 Adob​​e 网站还是命令行构建应用程序?我在网站上工作。并感谢您的努力!
  • @WilliWespe 编辑了帖子以包含我正在使用的代码。
  • 太棒了!有效!我非常非常感谢你!你是最好的!我希望它没有打扰你太多。谢谢:-)
  • 不是问题,很乐意提供帮助。祝你代码的其余部分好运..!!
  • 遇到了类似的问题,设置foreground: true 好像已经修复了...
猜你喜欢
  • 2022-09-23
  • 1970-01-01
  • 1970-01-01
  • 2018-04-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-22
  • 1970-01-01
相关资源
最近更新 更多