Phonegap 本地通知插件不起作用

Posted

技术标签:

【中文标题】Phonegap 本地通知插件不起作用【英文标题】:Phonegap local notifications plugin does not work 【发布时间】:2017-11-20 18:06:18 【问题描述】:

我是创建 phonegap 应用程序的初学者,我需要使用本地通知。我使用了https://github.com/katzer/cordova-plugin-local-notifications,但似乎无法让它工作。我完全迷失了这一点,所以我正在一步一步地付出我所做的一切。

我做了什么: 导航到my_project_folder/plugins 并运行命令phonegap plugin add https://github.com/katzer/cordova-plugin-local-notifications。该命令执行没有任何错误。

一个名为de.appplant.cordova.plugin.local-notification 的文件夹现在位于我的插件文件夹中。行 <plugin name="de.appplant.cordova.plugin.local-notification" spec="https://github.com/katzer/cordova-plugin-local-notifications" /> 自动添加到 config.xml

在我的应用程序的 index.js 中,出于测试目的,我添加了以下代码:

var d = new Date();
d.addSeconds(20); 
cordova.plugins.notification.local.schedule(
                id: 1999,
                title: 'Sample',
                message: 'checking',
                date: d
);

所以我会在运行应用程序 20 秒后收到通知。在运行时(在我的浏览器中)但是我收到了错误Uncaught TypeError: Cannot read property 'notification' of undefined

我做错了什么,我可以做些什么来解决这个错误?在一些在线示例中,代码以 window.plugin.notification.local.add(.. 开头,但尝试这样做会给我同样的错误。

【问题讨论】:

当你从浏览器运行应用程序时它不会工作,你需要在使用插件之前设备就绪事件,这当然不可能从浏览器中实现 你也缺乏关于cordova和插件如何工作的基本知识 @Akis 我正在学习。我正在制作一个几乎完整的基本应用程序,这是我需要的第一个第三方插件,因此很混乱。此外,我也尝试了 Phonegap android 移动应用程序中的代码,但它不起作用。在 deviceready 事件消除错误后执行它,但它现在显示警告“未知属性:消息”和“未知属性:日期” 我正在阅读文档,但找不到任何带有名称消息或日期的属性。尝试删除它们 我认为应该用文本替换消息。 【参考方案1】:

试试这个

var d = new Date();

//Are you sure about this addSeconds()?
d.addSeconds(20); 

cordova.plugins.notification.local.schedule(
                id: 1999,
                title: 'Sample',
                text: 'checking',
                trigger: at: d
);

【讨论】:

以上是关于Phonegap 本地通知插件不起作用的主要内容,如果未能解决你的问题,请参考以下文章

构建后phonegap推送插件不起作用

在 PhoneGap/Cordova 中安排本地通知在 iOS 模拟器上不起作用

phonegap 推送通知在 iPhone 上不起作用

附件属性在离子本地通知插件中不起作用

Katzer 本地通知不起作用 - Cordova

datePicker 插件在 Phonegap 2.0 中不起作用