2

I'm working on a Flutter project where I had to set a scheduled local notification that would fire everyday at 10 am. And, the user should be taken to a certain page of the app upon clicking the notification. I've completed this part and the functionality works fine when the app is open and the user clicks on the notification. But the problem arises when the app is closed and the notification is fired and the user clicks on the notification. It doesn't take the user to that certain page. I tried to modify the click handling function by making it an async function. But it doesn't work accordingly.

Can someone suggest me what to do now?

2 Answers2

0

Create a notification handler.

  • Initialize your notification channel with high importance
  • Just before your app runs, before runApp(yourApp), create call a foregroundMessageHandler that you have initialized before the void main(){}
  • the foregroundMessageHandler should be a *TopMost initialization.
  • in the foregroundMessageHandler function, define the navigation behaviour
Baimam Boukar
  • 908
  • 5
  • 20
0

I don't know which library you are using for local notifcations. but if you are using flutter_local_notifications library check the link: https://pub.dev/packages/flutter_local_notifications , you can check the data recived in selectNotification method and redirect the user to required page

void selectNotification(String payload) async {
if (payload != null) {
  debugPrint('notification payload: $payload');
}
await Navigator.push(
  context,
  MaterialPageRoute<void>(builder: (context) => SecondScreen(payload)),
);
}

other libraries should have same functionality.

humam ayad
  • 46
  • 2