GCM注册的设备接收两种types的通知

我使用Google开发人员站点上的示例项目注册了我的Android设备,并且只将该configuration文件添加到项目中。 现在,当我使用node-gcm发送来自我的nodeJS服务器的通知时,我收到两种types的通知: 通知屏幕截图
如果我在./gradlew run -Pmsg="<message>"命令来testing它,那么通知“GCM消息”是默认的应用程序,但它不是空白的。 另一个通知“新聊天消息”是我打算发送的。
我的问题是,我想只收到不是空白的默认通知。 我该如何解决?

nodeJS服务器的代码:

 message.addNotification('title', 'New Chat Message'); message.addNotification('icon', 'ic_launcher'); message.addNotification('message', 'TEST MESSAGE'); message.addNotification('body', name + ": " + msg); sender.send(message, {registrationTokens: regTokens}, function (err, response) { if (err) console.error(err); else console.log(response); }); 

处理消息的Android APP代码:

 public void onMessageReceived(String from, Bundle data) { System.out.println("MyGcmListenerService.onMessageReceived"); String message = data.getString("message"); if(data.containsKey("body")){ System.out.println("Contains"); } Log.d(TAG, "From: " + from); Log.d(TAG, "Message: " + message); if (from.startsWith("/topics/")) { // message received from some topic. } else { // normal downstream message. } sendNotification(message); } 

编辑 –在照片中,我收到两次“为什么人”的消息,因为我发了两次。 没有什么不对的

另一个编辑 –我只注意到,当我的设备睡觉或当应用程序暂停或杀害,只有然后我收到使用nodeJS服务器的第二种types的通知。 但是,如果我在上面提到的任何情况下运行gradlew命令,那么所有的工作都应该如此。

我修好了它! 问题是在服务器端,我应该使用message.addData()而不是message.addNotification()