【发布时间】:2014-12-16 10:17:36
【问题描述】:
我有一个在 iOS 上运行的 Cordova 应用程序 (codova (3.4.0),很快也会在 Android 上运行。推送通知已实现并正常工作。我无法通过推送通知检测应用程序何时启动并重定向应用程序到正确的页面。
注意:这与应用在后台运行时从推送通知启动应用无关。仅当应用完全关闭时!
我现在有以下工作流程:
正常启动:
- 等待 cordova.js 触发 ondeviceready 事件。
- 在 ondeviceready 事件中重定向到我的应用程序的启动视图(通过 window.location.hash)
通过推送通知冷启动应用:
- 等待 cordova.js 触发 ondeviceready 事件。
- 在 ondeviceready 事件中重定向到我的应用程序的启动视图(通过 window.location.hash)
- 插件启动并在我的应用程序中触发一个名为 notificationreceived 的 javascript 函数
- 在notificationreceived 函数中重定向到基于推送通知的视图
如您所见,冷应用启动场景会转到启动视图,这是不必要的,并且会导致用户等待第一个视图加载,只是再次被重定向。
问题是当 deviceready 触发时,我的 javascript 代码还不知道即将到来的推送通知,所以我正在寻找解决这个问题的方法。
有没有办法将额外的参数传递给 deviceready cordova 事件?或者有没有人有其他想法或解决方案来解决这个问题?
【问题讨论】:
-
您好 Jermaine,我想知道您是否找到了解决此问题的方法。现在我检查我的服务器以在启动期间下载新数据,这会为同一事件创建第二个通知。我查看了插件的源代码,它似乎为我们的cordova应用程序发送了一些额外的参数来启动(),尽管我不确定这些参数是否最终到达应用程序:... originalExtras.putBoolean(“前景”,假); originalExtras.putBoolean("coldstart", !isPushPluginActive); ...我也没有找到如何在我的源中接收这些参数
-
嗨 rotoxl,我确实找到了解决方法。我将在下面发布我的答案
标签: javascript ios cordova push-notification phonegap-pushplugin