当应用程序被杀死时,我无法路由到带有flutter通知的特定页面



当通知被点击时,我试图去一个页面。当应用程序在后台或前台时,它可以正常工作,但当应用程序被杀死时,它不工作。

当应用被杀死时,它会打开应用,但不会进入通知数据中定义的路由。

需要快速解决方案

FirebaseMessaging.onMessageOpenedApp.listen((RemoteMessage message)=>
NotificationPop().onOpenApp(message, navigatorKey));

当你想在应用程序被终止时从通知(也称为RemoteMessage)中导航或捕获数据时,你需要使用Firebase Package的以下功能:

FirebaseMessaging.instance.getInitialMessage().then((RemoteMessage? message) {
if(message != null && message.data['title'] == 'SomeTitle') {
//Navigate to a page
}
});

把上面的函数放在你想要的页面的init函数中,当你的应用导航到那个页面时,上面的函数就会被调用。我假设你已经在你的应用程序中正确地集成了firebase。

Firebase包提供了不同的方法来处理不同的场景,即终止应用程序,后台应用程序和打开应用程序。

你必须实现getInitialMessage()方法来处理终止应用程序的通知。

FirebaseMessaging.instance.getInitialMessage().then((RemoteMessage? message) {
//YourCode  
});

您还可以检查其他方法来管理不同的场景,如重复通知:

FirebaseMessaging.onMessage.listen((message) //YourCode  });

最新更新