【问题标题】:Hide flutter local notification on foreground在前台隐藏颤振本地通知
【发布时间】:2021-08-25 13:10:38
【问题描述】:

我想在应用程序处于前台时隐藏通知,但 IOS 即使在前台也显示通知。通常,当应用程序处于前台时,不会显示 FCM 通知。 这是我的代码

await flutterLocalNotificationsPlugin
        .resolvePlatformSpecificImplementation<
            AndroidFlutterLocalNotificationsPlugin>()
        ?.createNotificationChannel(channel);

    AndroidInitializationSettings androidInitializationSettings =
        AndroidInitializationSettings('@mipmap/ic_launcher');
    IOSInitializationSettings iosInitializationSettings =
        IOSInitializationSettings();

    InitializationSettings initializationSettings = InitializationSettings(
        android: androidInitializationSettings, iOS: iosInitializationSettings);

    flutterLocalNotificationsPlugin.initialize(initializationSettings,
        onSelectNotification: onSelectNotification);

    final bool? result = await flutterLocalNotificationsPlugin
        .resolvePlatformSpecificImplementation<
            IOSFlutterLocalNotificationsPlugin>()
        ?.requestPermissions(
          alert: true,
          badge: true,
          sound: true,
        );

【问题讨论】:

    标签: flutter flutter-local-notification


    【解决方案1】:

    只需要添加这一行

    await FirebaseMessaging.instance.setForegroundNotificationPresentationOptions(
        alert: false,
        badge: false,
        sound: false,
      );
    

    【讨论】:

    • 问题是关于FlutterLocalNotificationsPlugin 而不是FirebaseMessaging
    【解决方案2】:

    如果您不想在前台看到通知,请将您的代码添加到 onBackgroundMessage 处理程序。

    【讨论】:

    • 是的,它只在后台消息中定义
    • 好的。您仍会收到通知,但不会显示通知标题。
    猜你喜欢
    • 2020-06-28
    • 1970-01-01
    • 2021-10-12
    • 1970-01-01
    • 2020-07-31
    • 2020-11-28
    • 2021-03-26
    • 2021-04-28
    相关资源
    最近更新 更多