push-notification - 在通知( Android ) 中,如何从消息中提取数据并显示

  显示原文与译文双语对照的内容
51 5

我使用 GCM ( Google云消息) 进行推送通知。

当通知到达设备时,它看起来如下所示:


Received: Bundle[{message=hello, android.support.content.wakelockid=2,
collapse_key=do_not_collapse, from=243316392621}]

在这个例子中,我想提取消息和 wakelockId,以只显示通知的消息。( 在本例中仅为

我的notificationBuider如下所示:


 NotificationCompat.Builder mBuilder =
 new NotificationCompat.Builder(this)
. setSmallIcon(com.example.example.R.drawable.icon)
. setContentTitle("Example")
. setDefaults(Notification.DEFAULT_ALL) 
. setAutoCancel(true)
. setStyle(new NotificationCompat.BigTextStyle()
. bigText(msg))
. setContentText(msg);

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

请指导我 this.Any 帮助会很感激。

时间: 原作者:

104 4

根据你得到的通知,我假设 msgBundle 类型的,它的值是 intent.getExtras()intent 是 GCM BroadcastReceiver的intent

你应该从它中提取相关参数:


 String text = msg.getString ("message");
 NotificationCompat.Builder mBuilder =
 new NotificationCompat.Builder(this)
. setSmallIcon(com.example.example.R.drawable.icon)
. setContentTitle("Example")
. setDefaults(Notification.DEFAULT_ALL) 
. setAutoCancel(true)
. setStyle(new NotificationCompat.BigTextStyle()
. bigText(text))
. setContentText(text);

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

原作者:
...