android - 旧的推送通知未出现在android设备上

标签 android ios cordova notifications google-cloud-messaging

我正在尝试使用phonegap插件和GCM(Google Cloud Messaging)服务为我的Andriod应用程序集成推送通知。我基本上已经按照本教程在客户端http://devgirl.org/2013/07/17/tutorial-implement-push-notifications-in-your-phonegap-application/上的所有步骤进行操作,以通过phonegap插件注册设备。

  • 我已通过git phonegap本地插件通过git phonegap本地插件添加了phonegap插件,如上述教程的“第1部分:配置您的应用程序以使用PushPlugin”。
  • 在index.js文件中,我添加了以上方法的“第2部分:向Google Cloud Messaging服务注册应用程序”中提到的以下方法。
     successHandler: function(result) {
          alert('Callback Success! Result = '+result)
     },
     errorHandler:function(error) {
          alert(error);
     },
     onNotificationGCM: function(e) {
          switch( e.event )
          {
             case 'registered':
                if ( e.regid.length > 0 )
                {
                    console.log("Regid " + e.regid);
                    alert('registration id = '+e.regid);
                }
                break;
    
             case 'message':
                // this is the actual push notification. its format depends on the data model from the push server
                alert('message = '+e.message+' msgcnt = '+e.msgcnt);
             break;
    
             case 'error':
                alert('GCM error = '+e.msg);
                break;
    
             default:
               alert('An unknown GCM event has occurred');
               break;
         }
    }
    

  • 为了从应用程序服务器发送通知,我使用HTTP POST到jsont_a,请求主体为json格式。
    {
        “registration_ids” : ["APA....."],
        “data” : {
               “title” : “My Title”,
               “message” : “My Msg”,
               “msgcnt” : “1"
        }
    }
    

    我在设备上正确收到了通知。我不确定代码中缺少什么,但是遇到了这些问题。
  • 在我的设备的通知区域中,当多封邮件依次发送时,我只会看到最后一封邮件。看起来最后一条消息将覆盖旧消息。我希望所有警报在发送时一一列出在设备上。
  • 设备锁定时,通知不会显示在屏幕顶部。

  • 我该如何解决这些问题?我是移动开发的新手,非常感谢您的帮助。提前致谢!

    最佳答案

    新通知将覆盖旧通知,可能是因为您在notify方法中使用了相同的ID。使用唯一的ID,您会收到多个通知。

    至于第二个问题read this

    关于android - 旧的推送通知未出现在android设备上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19193357/

    相关文章:

    ios - 设置 statusBar 样式不起作用 Objective-C

    ios - 如何删除 Xcode 6 中的 "Run Script"构建阶段?

    android - Windows cordova 构建错误 : Failed to find 'ANDROID_HOME' environment variable

    android - 无法在手机上滚动我的网页

    android - 从 AppGallery Connect API 获取错误代码 204144647,消息为 "The new service has can' 无法编辑服务,无法更新

    android - 如何将 GeoFire 坐标与 Firebase 数据库中的其他项目一起保存?

    java - Java 中独立于平台的信任存储路径

    ios - 单击按钮时,我想将应用程序从前台带到后台?这可能吗?如何?

    cordova - 将 webview 嵌入到 cordova 项目中?

    android - SQLiteDatabase.openDatabase 与 SQLiteOpenHelper.getReadableDatabase