2013-06-04 74 views
2

我使用以下插件:git hub的marknutter/GCM-Cordova。PhoneGap GCM- | Cordova插件

我在eclipse上安装了这个插件,并在Android设备上运行它。 我管理注册设备的GCM消息+接收消息。

当器件从谷歌云接收消息时,它调用在onMessage事件处理程序,55行,在此文件中: https://github.com/marknutter/GCM-Cordova/blob/master/src/com/cordova2/gcm/GCMIntentService.java

事件处理程序到达线77来运行该命令:GCMPlugin.sendJavascript(JSON ); 这个命令应该将收到的数据发送到应用程序的webView。 然而,当对GCMPlugin.sendJavascript(json)的GCMPlugin成员的所有成员为空时,静态类GCMPlugin成员根本不会初始化。结果发生异常,并且消息无法传递给webView。

任何人有一个想法如何解决这个问题?

回答

3

我不会浪费任何时间试图运行一些不起眼的插件,当有官方支持的PhoneGap插件推送通知:https://github.com/phonegap-build/PushPlugin。我已经在我的几个应用程序中使用它,它可以创造奇迹。它的更新每两个月就会推出一次。

+0

官方支持的PhoneGap插件?听起来很有希望......我会试试看。 – Omeriko

+1

这个插件是否支持在接收到通知时调用js函数,即唤醒应用程序,使用消息数据处理本地代码中的onMessage事件,然后从本机代码调用js函数? – Omeriko

+2

您提到的这个“隐藏的插件”是PushPlugin Android部分的基础。请在抨击未知之前告知你自己。请参阅https://github.com/phonegap-build/PushPlugin#acknowledgments – Risadinha

0

如果有人有兴趣,我工作的这个插件支持最新的科尔多瓦,并使用从谷歌最新的GCM,这将允许您发送推送通知到Android和iOS设备:https://github.com/gonzaloaune/GCMPushPlugin

+0

我试过你的插件,但不幸的是它不工作,你有任何工作示例代码? 有史以来我有错误,如 “无法找到com.google.android.gms:play-services:8.0.1”。注意:我使用“grunt-cordovacli”来构建我的android应用程序。我回顾了SDK,没有遗漏。 这将有助于很多,如果你有工作phonegap样品。 –