【发布时间】:2015-09-13 14:53:16
【问题描述】:
我在我的 Ionic 应用程序中使用 ngCordova LocalNotification 插件,我试图让它重复,但时间跨度是随机的。
例如,用户将在 1 分钟内触发通知启动,然后我需要在另外 2 分钟内再次启动通知(假设的示例,在现实生活中,时间跨度会更高,即几天)。
到目前为止,我可以得到第一次执行的通知。
然后,我使用 $cordovaLocalNotification:trigger 方法来检测通知何时被触发,并且在该方法内部我有一个代码来安排新的通知。
所有这些都有效,但是为了启动该方法体内的任何内容,我必须在我的设备上确认通知并单击它,然后它会启动此方法。
所以我想知道是否有办法让它安排一个新的通知,而我不必打开以前的通知?
所有这些都必须在设备本地发生,即使设备重新启动,通知也应该持续存在。非常感谢!
【问题讨论】:
-
this 有用吗?
-
嗨!不幸的是,没有:(我对日期没有任何问题,我的痛苦是为了安排新的通知,我必须点击发送的通知,然后我的方法中的代码执行。然而,在现实生活中我们不能指望用户点击他们收到的每一个通知,很多时候他们会简单地忽略它或删除它。所以我猜新的通知必须在后台以某种方式安排,而不需要他们打开应用程序,无论如何,这就是理想的方法。知道在哪里寻找答案吗?非常感谢!
-
你确定
trigger事件只有在你点击通知的时候才会产生? Docs 说:“侦听 '$cordovaLocalNotification:trigger' 事件,该事件在触发本地通知时触发。”。 -
没错!我在该事件中只有一个 alert() ,因此我知道它何时执行,并且我唯一看到警报的时间是我是否响应了该通知。我还打了一个电话来安排新的通知,所以我会在 1 分钟内收到 1 个通知,然后我希望在另一分钟内收到另一个通知,但除非我回复上一个通知,否则它根本不会发生。之后,我按预期在 60 秒内收到通知。
-
只有在应用程序处于前台时才能看到警报,因此它似乎只有在您单击通知(打开应用程序)时才有效。即使您不单击通知,您也可以检查警报是否有效,在显示通知后打开应用程序(不单击它)。但我认为这里的问题是后台的应用程序:我记得,当应用程序进入后台时,webview 会停止 javascript 的执行。
标签: android ios cordova notifications ionic-framework