首页 > 解决方案 > 在 iOS 中打开应用时显示本地通知

问题描述

我正在使用flutter_local_notifications包,当应用程序在 Android 中打开(前台)而不是在 iOS 中时,它会显示通知。文档说:

对于 iOS 10+,使用演示选项来控制应用在前台时触发通知时的行为。插件的默认设置将配置这些,以便在应用程序处于前台时显示通知。

如果我理解正确,我不需要自己做任何事情(如果我错了,请纠正我,这就是问题的全部内容)。这是我正在使用的代码。(除前台部分外,适用于 iOS 和 Android)

Future<void> showNotification() async {
  final notificationPlugin = FlutterLocalNotificationsPlugin();
  const androidSettings = AndroidInitializationSettings('@mipmap/ic_launcher');
  const iOSSettings = IOSInitializationSettings();
  final initializationSettings = InitializationSettings(
    android: androidSettings,
    iOS: iOSSettings,
  );
  await notificationPlugin.initialize(
    initializationSettings,
    onSelectNotification: (payload) async {},
  );

  const androidNotificationDetails = AndroidNotificationDetails(
    'foo_id',
    'Foo Name',
    'Foo description ',
    importance: Importance.max, 
    priority: Priority.defaultPriority,
    showWhen: false,
  );

  await notificationPlugin.show(
    1211, 
    'Notification title',
    'Notification body',
    NotificationDetails(android: androidNotificationDetails),
    payload: 'item x',
  );
}

标签: iosflutternotificationsapple-push-notificationsflutter-local-notification

解决方案


当应用程序在前台时,它不可能显示本地通知。或者,您可以使用任何BannerView包或设计您的自定义 BannerView 来通知用户,这将在 iOS 中提供本地通知的感觉。我没有尝试过颤振,但我作为 iOS 开发人员回答了这个问题。


推荐阅读