- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在开发适用于 Android 和 iOS 的 Phonegap 3.0 应用程序。我添加了PushPlugin除了两件事之外,几乎所有东西在 Android 上都能正常运行:
1.当我收到推送通知并且我的应用程序当前不在前台时,该消息会显示在我的通知栏中。一旦我单击通知,应用程序就会启动,并且通知消息会显示两次。显示的消息是一个带有通知数据的简单 JavaScript 警报,我将其添加到“onNotificationGCM”消息事件中。
第一次在通知栏中添加通知时触发此事件,第二次在我单击通知并启动我的应用程序时触发。因此,包含我的消息的警报函数被调用两次,并显示 2 个警报。
这是我的代码的简短片段:
onNotificationGCM: function (e) {
switch( e.event )
{
case 'registered':
if ( e.regid.length > 0 )
{
console.log('Regid ' + e.regid);
}
break;
case 'message':
// this is the actual push notification. its format depends on the data model from the push server
console.log('Entered message');
alert('message = '+e.message);
break;
}
}
所以我的问题是,如何防止这种情况并且我的通知仅在我打开应用程序时显示一次?
2.我也有这个问题,它已经作为问题发布在 github 存储库中:Issue
一旦我退出应用程序(不是通过设置中的“管理应用程序”菜单),我就无法收到任何推送通知。我尝试在启动时启动我的应用程序,但这不起作用。但是当我启动应用程序时,所有通知都会显示。
也许有人已经知道一些解决方法。
我还注意到,PushPlugin 使用已弃用的 GCM 方法。有谁知道这是否可能是原因,为什么即使应用程序未运行,通知也不会显示?
最佳答案
好的,所以我自己想出了我的第一点。我不再使用警报函数,而是使用了使用通知插件的 cordova.exec()
函数。在此我引用了单击警报按钮时的回调函数。之后,我添加了一个小标志,指示是否已看到并单击了警报。并且只要该标志显示该消息尚未被确认,就不会显示其他通知。瞧,当应用程序位于后台时,通知仅显示一次。这是简短的代码片段:
var confirmedGcmNotification = true;
...
onNotificationGCM: function (e) {
switch( e.event )
{
case 'message':
// this is the actual push notification. its format depends on the data model from the push server
console.log('Entered message');
if ( e.foreground )
{
// When app is already open
cordova.exec(null, null, 'Notification', 'alert', [e.message, 'Notification', 'OK']);
}
else
{ // otherwise we were launched because the user touched a notification in the notification tray.
if ( e.coldstart )
{
console.log('coldstart entered');
cordova.exec(null, null, 'Notification', 'alert', [e.message, 'Notification', 'OK']);
}
else
{
console.log('Background entered');
if(confirmedGcmNotification) {
confirmedGcmNotification = false;
cordova.exec(PushSupport.gcmNotificationBackgroundAlert, null, 'Notification', 'alert', [e.message, 'Notification', 'OK']);
}
}
}
break;
}
},
gcmNotificationBackgroundAlert: function() {
confirmedGcmNotification = true;
},
第二点有点不同。我还没有解决方案,但我检查了 android 日志并注意到,当应用程序关闭并发出新通知时,应用程序收到通知,但插件以某种方式处理它错误并且不会显示它。也许很快就会有修复。
关于javascript - Phonegap PushPlugin 消息事件被调用两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19271142/
我正在使用 PubNub 在移动设备中推送通知。我在我的项目中使用了以下代码。按照以下链接的指示。 https://www.pubnub.com/blog/2014-12-18-sending-and
我正在使用 cordova PushPlugin 一段时间以及所有其他时间的插件: https://github.com/phonegap-build/PushPlugin效果很好。 但现在它甚至不请
我用过pushPlugin在我的 phonegap android 应用程序中接收推送通知。一切正常。唯一的问题是当通知栏中存在多条消息时,最后一条消息会覆盖上一条消息。我想像 whatsApp 一样
我正在尝试实现一个使用 Cordava 3.3 创建的推送通知应用程序:https://github.com/phonegap-build/PushPlugin ;以本教程为基础:www.androi
我目前正在开发适用于 Android 和 iOS 的 Phonegap 3.0 应用程序。我添加了PushPlugin除了两件事之外,几乎所有东西在 Android 上都能正常运行: 1.当我收到推送
我正在使用 Ionic 框架为 iOS 应用程序设置推送通知,但我遇到了问题。 我使用以下添加了插件 ionic plugin add https://github.com/phonegap-buil
在尝试为 PhoneGap 上的推送通知安装 PushPlugin 时 https://github.com/phonegap-build/PushPlugin Android 的手动安装过程需要在
我将 Phonegap 插件“PushPlugin”( https://github.com/phonegap-build/PushPlugin ) 与适用于 iOS 和 Android 的 Phon
我的问题是如何配置通知,即有标题和消息,因为它只会让我收到消息而没有标题。在“GCMIntentService.java”插件文件中,我找到了三个变量,title、message 和 msgcnt,可
我正在尝试注册我的 Android 设备并获取注册 ID,以便我可以向我的应用程序发送推送通知。 我已按照此处列出的步骤进行操作并注册了我的应用程序。 http://developer.android
我正在使用 Cordova 3.5.0-0.2.6 来创建 Android 应用程序并使用 PushPlugin 2.2.1 来推送通知。 一切正常,当应用程序在后台时,我的机器人通知栏中会收到通知,
我见过多个类似的项目,但没有一个在相同的上下文中(使用 Angular ,不使用 ionic )。我正在使用 cordova 5.0.0(cmd 中的 cordova --version 显示 5.0
我正在为 Android 和 iOS 开发一个 Phonegap 应用程序,并希望为两者启用推送通知。 该应用正在使用 Phonegap 插件 PushPlugin,该插件将其设置为接收 Androi
我一直在关注 this sample让 android pushNotifications(使用 GCM)在 android 模拟器上工作。在 $cordovaPush.register(config
我正在尝试运行安装了 PushPlugin 的 phonegap 应用程序。我用这个命令添加插件: $ phonegap local plugin add https://github.com/pho
我花了将近 3 天的时间让 PushPlugin 与我的应用程序一起工作。我有以下问题为此,我必须按照“https://github.com/kentmw/PushPlugin”的建议修改 PushP
我正在通过 HTTP 发送一个非常简单的 GCM 推送通知。在我的 android 上,它显示前 32 个字符,后面跟着 3 个点。来自其他应用程序的消息看起来很好,都包装得很好。 应用程序端是使用
我正在关注 this在我的 PhoneGap 应用程序中实现推送通知的教程。但是我在 XCode 中不断收到以下错误: 2014-06-03 22:50:38.425 Clubbed In[336:6
我正在开发我的第一个 PhoneGap/Cordova 应用程序,但在使 iOS 推送通知正常工作时遇到了问题。 我的环境如下: Cordova 版本:3.5.0-0.2.7 推送插件版本:2.4.0
我正在使用最新的 Cordova 版本和推送插件 (https://github.com/phonegap-build/PushPlugin)。 我正在尝试在 Android 模拟器上使用 githu
我是一名优秀的程序员,十分优秀!