当通知被点击时,我试图去一个页面。当应用程序在后台或前台时,它可以正常工作,但当应用程序被杀死时,它不工作。
当应用被杀死时,它会打开应用,但不会进入通知数据中定义的路由。
需要快速解决方案
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 });