Невозможно определить тип аргумента функции Flutter Local Notification onSelectNotification

Я использую локальные уведомления для своего приложения и пытаюсь настроить, но не могу заставить его работать. Вот как я init:

       Future initialize() async {
    FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin =
        FlutterLocalNotificationsPlugin();

    AndroidInitializationSettings androidInitializationSettings =
        AndroidInitializationSettings('app_icon');

    IOSInitializationSettings iosInitializationSettings =
        IOSInitializationSettings();

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

    await flutterLocalNotificationsPlugin.initialize(
      initializationSettings, onSelectNotification: onSelectNotification
    );
  }

И мой onSelectNotification:

        Future onSelectNotification(String payload) async {
    print(payload);
  }

Но Флаттер жалуется:

Тип аргумента «Future Function (String)» не может быть назначен типу параметра «Future Function (String?)?».

Я не мог найти ничего в документации об этом и больше нигде .. Что мне по ней не хватает?

2 ответа

Должен быть

      Future<void> onSelectNotification(String? payload) async {...}

вместо того

      Future<void> onSelectNotification(String payload) async {...}

Не хватает ? на вашей String payload

Вместо этого используйте onSelectNotification to Future < dynamic >.

      Future<dynamic> onSelectNotification(payload) async {
   // implement logic
   print("onSelectNotification : " + payload);
}
Другие вопросы по тегам