开发者社区 问答 正文

应用研发平台EMAS上AndroidInboxBody,app里如何展示通知?

应用研发平台EMAS上AndroidInboxBody
string
Inbox 模式下的正文,内容为合法的 JSON Array,且元素不超过 5 个。当前支持:

华为:EMUI9 及以上
荣耀:Magic UI 4.0 及以上
小米:MIUI10 及以上
OPPO:ColorOS 5.0 以上
自有通道:安卓 SDK3.6.0 及以上
app 里是如何展示通知的?

展开
收起
小小鹿鹿鹿 2024-01-10 13:04:27 71 分享 版权
3 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在EMAS平台上,当您使用Inbox模式发送通知时,Android设备在EMAS平台上,当您使用Inbox模式发送通知时,Android设备会将通知的正文以卡片的形式展示在设备的锁屏或通知栏上。

    具体来说,如果接收到的通知包含一个合法的JSON Array作为InboxBody的内容,那么这个数组中的元素将会被解析并显示为卡片的标题和内容。例如,如果您的InboxBody如下:

    {
        "title": "新消息",
        "content": "这是一条新的消息"
    }
    

    那么在华为、荣耀、小米、OPPO等支持Inbox模式的设备上,这条通知将会以卡片的形式展示,标题为"新消息",内容为"这是一条新的消息"。

    需要注意的是,不同的设备可能会有不同的展示方式和限制,例如元素数量的限制等。因此,为了确保通知能够正确展示,建议您查阅相关设备的官方文档,了解其对Inbox模式的具体支持情况。

    2024-01-13 16:51:19
    赞同 展开评论
  • EMAS的AndroidInboxBody用于在通知中展示消息内容。当您使用EMAS发送通知时,可以将AndroidInboxBody作为通知的正文内容。

    在应用中,您可以使用以下代码来获取并显示通知的正文内容:

    NotificationCompat.Builder builder = new NotificationCompat.Builder(this, CHANNEL_ID)
            .setSmallIcon(R.drawable.notification_icon)
            .setContentTitle("My notification")
            .setContentText(getInboxBody()) // 获取并设置通知正文内容
            .setPriority(NotificationCompat.PRIORITY_DEFAULT);
    

    其中,getInboxBody()方法用于获取通知的正文内容。您可以根据需要自定义该方法,以从EMAS服务或其他数据源中获取AndroidInboxBody的内容。例如,您可以从EMAS控制台获取通知的JSON数组,并将其解析为字符串或对象,然后将其设置为通知的正文内容。

    请注意,以上代码仅为示例,您可能需要根据您的具体需求进行适当的修改和调整。

    2024-01-13 10:28:10
    赞同 展开评论
  • 多行正文,一行一条。参考:
    https://developer.huawei.com/consumer/cn/doc/HMSCore-Guides-V5/android-inbox-style-0000001050042085-V5
    此回答来自钉群应用研发平台EMAS开发者交流群。

    2024-01-10 15:33:18
    赞同 展开评论