onSelectNotification Navigator не работает, если приложение закрыто трепетать - PullRequest
0 голосов
/ 19 апреля 2020

onSelectNotification, когда хорошо, когда приложение открыто

  Future<void> onSelectNotification(String payload) async {
    Category category = Category();
    category.id = notification.idNew;
    category.email = notification.mainphoto;
    category.since = notification.since;
    category.name = notification.title;
    await Navigator.push(
        context,
        MaterialPageRoute(
            builder: (context) => FourthRoute(
                  category: category,
                )));
  }

, когда открывается и нажимает на уведомление, это go до FourthRoute

, но когда оно закрыто, просто открывается приложение Навигатор не работает

проблема в ios и android

я думал использовать SharedPreferences внутри onSelectNotification, чтобы сохранить ключ и проверить его позже

, но я прочитал дротик не работает, когда приложение закрыто

1 Ответ

0 голосов
/ 20 апреля 2020

я обращаюсь в службу поддержки плагина

Здесь

Future<void> main() async {
  // needed if you intend to initialize in the `main` function
  WidgetsFlutterBinding.ensureInitialized();

  notificationAppLaunchDetails =
      await flutterLocalNotificationsPlugin.getNotificationAppLaunchDetails();

  var initializationSettingsAndroid = AndroidInitializationSettings('app_icon');
  // Note: permissions aren't requested here just to demonstrate that can be done later using the `requestPermissions()` method
  // of the `IOSFlutterLocalNotificationsPlugin` class
  var initializationSettingsIOS = IOSInitializationSettings(
      requestAlertPermission: false,
      requestBadgePermission: false,
      requestSoundPermission: false,
      onDidReceiveLocalNotification:
          (int id, String title, String body, String payload) async {
        didReceiveLocalNotificationSubject.add(ReceivedNotification(
            id: id, title: title, body: body, payload: payload));
      });
  var initializationSettings = InitializationSettings(
      initializationSettingsAndroid, initializationSettingsIOS);
  await flutterLocalNotificationsPlugin.initialize(initializationSettings,
      onSelectNotification: (String payload) async {
    if (payload != null) {
      debugPrint('notification payload: ' + payload);
    }
    selectNotificationSubject.add(payload);
  });
  runApp(
    MaterialApp(
      home: HomePage(),
    ),
  );
}
...