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

Flutter中FCM推送通知无法以Heads-up悬浮弹窗形式显示求助

FCM实现Heads-up悬浮弹窗推送的配置要点

一、先明确Heads-up弹窗的触发前提

Heads-up悬浮窗只会在以下场景触发:

  • 设备处于未锁屏状态
  • 应用处于后台或已被杀死(前台时需自行构建通知逻辑)
  • 通知优先级达到系统要求的阈值

二、针对FCM消息类型的配置调整

FCM消息分两种类型,对应不同的配置方式:

1. 通知消息(FCM直接推送展示)

如果是通过FCM控制台或后端发送通知消息,必须配置:

  • 将通知的priority设为high(Android)或10(iOS)
  • 可选添加visibility字段设为public,确保锁屏状态下也能显示弹窗
  • 后端发送的JSON示例:
{
  "to": "DEVICE_TOKEN",
  "notification": {
    "title": "推送标题",
    "body": "推送内容",
    "priority": "high",
    "visibility": "public"
  }
}

2. 数据消息(App自行处理展示)

如果发送的是数据消息,需要在App端构建通知时手动设置高优先级:

  • 创建NotificationCompat.Builder时,调用setPriority(NotificationCompat.PRIORITY_HIGH)或setPriority(NotificationCompat.PRIORITY_MAX)
  • 同时设置提示效果(如声音、震动),确保系统识别为高优先级通知
  • Android代码示例:
NotificationCompat.Builder builder = new NotificationCompat.Builder(context, CHANNEL_ID)
        .setSmallIcon(R.drawable.ic_notify_icon)
        .setContentTitle("推送标题")
        .setContentText("推送内容")
        .setPriority(NotificationCompat.PRIORITY_HIGH)
        .setDefaults(Notification.DEFAULT_ALL);

NotificationManagerCompat notificationManager = NotificationManagerCompat.from(context);
notificationManager.notify(NOTIFY_ID, builder.build());

三、检查系统侧权限与设置

  • 确认App已获取通知权限,并且开启了「悬浮通知」「横幅通知」选项(不同品牌手机路径不同,一般在「设置→通知管理→对应App」中开启)
  • 部分国产ROM(小米、华为、vivo等)有单独的「通知弹窗权限」,需手动开启
  • 关闭设备的「免打扰模式」,该模式会屏蔽Heads-up弹窗

四、Android版本适配(API 26+)

Android 8.0及以上系统必须创建通知渠道,并将渠道的importance设为IMPORTANCE_HIGH或IMPORTANCE_MAX:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
    NotificationChannel channel = new NotificationChannel(CHANNEL_ID, "高优先级通知渠道", NotificationManager.IMPORTANCE_HIGH);
    channel.setDescription("用于展示Heads-up悬浮弹窗");
    NotificationManager notificationManager = context.getSystemService(NotificationManager.class);
    notificationManager.createNotificationChannel(channel);
}

内容的提问来源于stack exchange,提问作者Nijat Naghiyev

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 03:03:14