如何从 Message 中提取数据并在 Notification(Android) 中显示
Posted
技术标签:
【中文标题】如何从 Message 中提取数据并在 Notification(Android) 中显示【英文标题】:How to extract data from Message and display it in Notification(Android) 【发布时间】:2013-09-23 12:07:30 【问题描述】:我使用 GCM(Google Cloud Message) 进行推送通知。
当通知到达设备时它看起来像这样:
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());
请在这方面指导我。任何帮助将不胜感激。
【问题讨论】:
【参考方案1】:根据您收到的通知,我假设msg
的类型为Bundle
,其值为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());
【讨论】:
【参考方案2】:Recibido:捆绑 [mensaje = hola, android.support.content.wakelockid = 2, collapse_key = do_not_collapse, desde = 243316392621]
Google 以这种方式发送您在应用程序服务器中定义的数据,您必须单独读取这些数据,例如
extras.getString(“消息”)
其中 message 是定义了服务器应用程序键值的数据
【讨论】:
以上是关于如何从 Message 中提取数据并在 Notification(Android) 中显示的主要内容,如果未能解决你的问题,请参考以下文章
如何加入从我的数组的每个元素的数据库中提取的结果并在 Laravel 8 中以 json 形式返回
如何从一个工作表内的多个提取数据记录到另一个工作表中,并在数据后面加一个分隔标记。
获取 TableviewCells 以显示从 firebase 提取的不同数据并在 CollectionView 中显示它们