открыть конкретный маршрут при нажатии на уведомление - PullRequest
0 голосов
/ 23 января 2019

Я использую firebase_messaging для получения push-уведомлений в приложении. Я отправляю вместе с уведомлением маршрут для отображения определенной страницы при нажатии на уведомление с помощью flutter_local_notification как это:

_firebaseMessaging.configure(
onMessage: (Map<String, dynamic> message) {
  print('on message $message');
  print(message['route']);
  globals.firebaseIn(message['route']);
},
onResume: (Map<String, dynamic> message) {
  print('on resume $message');
  globals.firebaseOut(message['route']);
},
onLaunch: (Map<String, dynamic> message) {
  print('on launch $message');
  globals.firebaseOut(message['route']);
},
);

void firebaseIn(String route) {
showNotificationWithDefaultSound(route);
}

Future onSelectNotification(String payload) async {
 router.navigateTo(currentContext, payload,
  transition: TransitionType.inFromRight,
  transitionDuration: const Duration(milliseconds: 500));
}

Future showNotificationWithDefaultSound(String route) async {
var androidPlatformChannelSpecifics = new 
 AndroidNotificationDetails(
  'your channel id', 'your channel name', 'your channel description',
  importance: Importance.Max, priority: Priority.High);
  var iOSPlatformChannelSpecifics = new IOSNotificationDetails();
  var platformChannelSpecifics = new NotificationDetails(
  androidPlatformChannelSpecifics, iOSPlatformChannelSpecifics);
 await flutterLocalNotificationsPlugin.show(
0,
'استطلاع جديد',
'لديك استطلاع جديد',
platformChannelSpecifics,
payload: route,
 );
}

 void firebaseOut(String route) {
 router.navigateTo(currentContext, route,
  transition: TransitionType.inFromRight,
  transitionDuration: const Duration(milliseconds: 500));
 }

Это прекрасно работает, когда уведомление получено, когда приложение открыто ... но когда приложение работает в фоновом режиме или закрыто и уведомление получено, при нажатии на уведомление приложение откроется в своем состоянии из фона. или с самого начала, если он был закрыт ...

Я хочу, чтобы при нажатии на уведомление открывался конкретный маршрут, даже если он был в фоновом режиме или закрыт .. как это сделать? Есть ли способ добиться этого во флаттере?

...