You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter集成Firebase推送:实现通知自动展开显示

实现Flutter通知默认展开显示的解决方案

你的核心问题在于用了MediaStyleInformation,这个样式是给媒体类通知(比如音频、视频播放)设计的,不适合普通文本通知的默认展开需求。要实现类似WhatsApp、Teams的通知自动展开效果,得替换成合适的样式配置,同时保证优先级参数正确。

解决步骤:

  1. 替换样式信息类型
    把MediaStyleInformation换成BigTextStyleInformation——这是Android原生支持的大文本通知样式,能让通知默认以展开状态显示完整内容。

  2. 确保参数正确传递
    在BigTextStyleInformation里传入完整的消息内容作为bigText参数,同时保留高优先级和最高重要性的配置,保证通知能直接弹出并展开。

修改后的完整代码:

static Future showNotification(RemoteMessage message) async {
  AndroidNotificationDetails androidDetails = AndroidNotificationDetails(
    "default_notification_channel_id",
    "channel",
    enableLights: true,
    enableVibration: true,
    priority: Priority.high,
    importance: Importance.max,
    // 使用BigTextStyle实现默认展开
    styleInformation: BigTextStyleInformation(
      message.data['body'],
      htmlFormatContent: true,
      htmlFormatTitle: true,
      title: message.data['title'],
    ),
    playSound: true,
  );

  await _flutterLocalNotificationsPlugin.show(
    message.data.hashCode,
    message.data['title'],
    message.data['body'],
    NotificationDetails(android: androidDetails),
  );
}

额外说明:

  • 如果要展示多条消息(类似聊天会话记录),可以改用InboxStyleInformation,通过lines参数传入多条文本内容,同样会默认展开显示。
  • 注意:Android通知渠道的重要性设置是一次性的,如果之前已经创建过default_notification_channel_id渠道且重要性不是max,需要卸载应用重装,或者更换新的channelId重新创建渠道。

内容的提问来源于stack exchange,提问作者B.shruti

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 07:57:10