为啥 cordova-local-notification-plugin 不起作用(Phonegap,Android)?
Posted
技术标签:
【中文标题】为啥 cordova-local-notification-plugin 不起作用(Phonegap,Android)?【英文标题】: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 -v
、cordova plugin ls
、cordova platform ls
的结果
当然,我编辑了帖子以分享信息。谢谢
您是如何断定问题出自本地通知插件的?
它是唯一没有预装的插件,没有插件我可以构建应用程序
我现在可以构建应用程序,但通知仍然不起作用
【参考方案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'
]);
【讨论】:
哇,这真是令人印象深刻!但它还不适合我。您是使用 Adobe 网站还是命令行构建应用程序?我在网站上工作。并感谢您的努力! @WilliWespe 编辑了帖子以包含我正在使用的代码。 太棒了!有效!我非常非常感谢你!你是最好的!我希望它没有打扰你太多。谢谢:-) 不是问题,很乐意提供帮助。祝你代码的其余部分好运..!! 遇到了类似的问题,设置foreground: true 好像已经修复了...以上是关于为啥 cordova-local-notification-plugin 不起作用(Phonegap,Android)?的主要内容,如果未能解决你的问题,请参考以下文章
为啥 DataGridView 上的 DoubleBuffered 属性默认为 false,为啥它受到保护?