2

我正在尝试使用以下方法实现使用 Cordava 3.3 创建的推送通知应用程序:https ://github.com/phonegap-build/PushPlugin ;在本教程中以我为基础:www.androidhive.info/2012/10/android-push-notifications-using-google-cloud-messaging-gcm-php-and-mysql 但我有两个基本问题,第一个是通知确实如果应用程序在后台或关闭,则不会导致,第二个是当应用程序在前台打开时消息到达未定义,可能会有所帮助,据我所知,可能是由于 JSON 响应的格式或发送的参数在相同的。

这是我的代码不需要很长时间: https ://github.com/jedidas/Push

4

1 回答 1

1

我实现了一个解决方案,该解决方案在第 80 行附近的插件“GCMIntentService.java”的文件中是下一条指令

else {
    extras.putBoolean("foreground", false);

            // Send a notification if there is a message
            if (extras.getString("message") != null && extras.getString("message").length() != 0) {
                createNotification(context, extras);
            }
        }

发现你可以改变你想要的“价格”,例如改变“消息”的“价格”,一切都解决了 milagorsamente,解释:

我们有这个:。1 $ message = array ("deprive" => $ message);

并在我阅读时阅读: 1. E.payload.message

因为payload.price给我们带来了未定义的结果。

从这个意义上说,我们必须在 JAVA 插件中归档

if (extras.getString ("message")! = null && extras.getString ("message").length ()! = 0) { createNotification (context, options); }

如果它没有运行,因为它是以“价格”而不是“消息”的形式出现的。当我将 SEND_MESSAGE.PHP 的“价格”更改为“消息”时,一切都解决了。因此甚至不需要修改JAVA。

于 2014-04-29T14:18:38.803 回答