如何为应用程序在后台显示的通知设置自定义布局?

Posted

技术标签:

【中文标题】如何为应用程序在后台显示的通知设置自定义布局?【英文标题】:How to set custom layout for those notifications which will be shown when app is in background? 【发布时间】:2019-06-11 09:37:24 【问题描述】:

我在我的应用程序中实现了 firebase 云消息传递 (FCM) 服务,并且我收到了自定义布局的通知,但是当应用程序处于前台并且原因很清楚时,这是因为 @987654322 中存在 setCustomContentView(myContentView) @我们都知道onMessageReceived只在应用程序处于前台时处理通知。

现在,我想知道有没有办法为应用程序在后台时显示的通知设置相同的自定义布局?

【问题讨论】:

使用 data 负载而不是 notification 负载,它适用于前台和后台。 使用数据对象代替通知对象 以及如何设置自定义布局?能给我一些代码吗? 【参考方案1】:

FCM 有两种消息类型:当您的应用在后台时。

通知消息:

数据信息:

    通知消息:通知发送到设备的系统托盘,而不是 onMessageReceived

    数据消息:总是,通知被传递到 onMessageReceived

所以,当应用程序处于后台或前台时,您应该发送格式为数据消息以处理 onMessageReceived 中的通知

【讨论】:

【参考方案2】:

我建议修改服务器代码以在前台和后台接收 onMessageReceived 数据,并要求发送方仅发送数据负载而不通知。

这里我删除了通知负载。

"to":"[add your token]","data":"title":"Working Good","body":"[add your message]","priority":"high"

【讨论】:

以上是关于如何为应用程序在后台显示的通知设置自定义布局?的主要内容,如果未能解决你的问题,请参考以下文章

自定义通知Notification:自己定义通知Notification下拉后的显示样式

如何为自定义 Android 通知添加垂直线到 RemoteView?

如何为 UITableViewCell 显示自定义 UIMenuItem?

自定义通知,如 Inshorts

如何为自定义对话框设置边距?

Notification的基本用法以及使用RemoteView实现自定义布局