我在 Flutter 中创建了一个 android 通知 channel_id,但是,将 FCM 发送到该通道不会导致振动或声音

Posted

技术标签:

【中文标题】我在 Flutter 中创建了一个 android 通知 channel_id,但是,将 FCM 发送到该通道不会导致振动或声音【英文标题】:I created an android notification channel_id in Flutter, however, sending FCM to that channel does not result in vibration or sound 【发布时间】:2021-12-03 04:26:18 【问题描述】:

我使用flutter_local_notification包创建了一个android通知通道,代码如下:

await FlutterLocalNotificationsPlugin()
  .resolvePlatformSpecificImplementation<
      AndroidFlutterLocalNotificationsPlugin>()
  .createNotificationChannel(AndroidNotificationChannel(
    'high_importance_channel', // id
    'High Importance Notifications', // title
    description:
        'This channel is used for important notifications', // description
    importance: Importance.max,
  ));

当我请求我的应用程序使用的当前通知通道时,我得到了新创建的(和其他几个)结果,因此创建工作正常。

但是,当我使用 FCM 向新创建的频道发送通知时,该通知不会发出声音或振动。如果我向已经存在的频道发送相同的通知,我会收到声音和振动。

我做错了什么?

【问题讨论】:

【参考方案1】:

另一种方法是使用flutter_sound和flutter_vibrate在onMessage/onBackgroundMessage/onBackgroundMessage中手动播放声音和振动

【讨论】:

【参考方案2】:

看来是importance参数出错了。

importance: Importance.max

应该是

importance: Importance.high

Android 不使用Importance.max,请参阅here

【讨论】:

以上是关于我在 Flutter 中创建了一个 android 通知 channel_id,但是,将 FCM 发送到该通道不会导致振动或声音的主要内容,如果未能解决你的问题,请参考以下文章

如何安全地更改 Flutter Android Studio 项目中的“lib”目录名称?

有没有办法使用android studio在我的flutter项目中创建一个Podfile?

如何使用 Android Studio 在 Flutter 中构建 .apk 和 .ipa?

Flutter GIT项目checkout后,无法运行项目

如何使用 Android Studio 在 Windows 中为 Flutter 应用程序生成 IOS IPA?

我在 Access 中创建了一个表单,该表单对应于具有零属性的表