从通知中获取消息并显示在应用程序上

时间:2013-11-24 13:37:26

标签: android android-intent notifications push-notification google-cloud-messaging

我正在尝试使用GCM开发推送通知服务。我能够收到从服务器发送到我的设备的通知。单击通知后,应用程序将打开。好。现在我想要的是通知中的消息也应该显示在应用程序上。我怎么能这样做?

Code in GCMintentservice.java:
private void sendNotification(String msg) {
        mNotificationManager = (NotificationManager)
                this.getSystemService(Context.NOTIFICATION_SERVICE);

        PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
                new Intent(this, MainActivity.class), PendingIntent.FLAG_UPDATE_CURRENT);

        NotificationCompat.Builder mBuilder =
                new NotificationCompat.Builder(this)
        .setSmallIcon(R.drawable.ic_action_search_)
        .setContentTitle("GCM Notification")
        .setStyle(new NotificationCompat.BigTextStyle()
        .bigText(msg))
        .setContentText(msg);

        mBuilder.setContentIntent(contentIntent);
        mNotificationManager.notify(NOTIFICATION_ID, mBuilder.build());
    }

现在我收到通知但是点击通知我去了应用程序,但消息不存在。我该怎么办。我在主应用程序中有一个文本视图。如何使用通知中的消息更新该文本视图?在主应用程序中OnCreate可能要做些什么?请帮助。

此致

1 个答案:

答案 0 :(得分:2)

您应该将包含GCM详细信息的Bundle提供给PendingIntent的包含Intent:

Intent intent = new Intent(this, MainActivity.class)
intent.putExtra(...);
PendingIntent contentIntent = PendingIntent.getActivity(
        this, 0,
        intent,
        PendingIntent.FLAG_UPDATE_CURRENT);