我想做一个应用程序,当它收到来自firebase的通知,应用程序不在后台时,它会打开一个没有用户交互的屏幕。我发送一条数据消息,检查message.data和通知。我已经在android studio中用java做了这些事情,这很容易。但在flutter中,这并不容易
@pragma('vm:入口点')未来_Firebase消息传递背景处理程序(远程消息消息,{构建上下文?上下文})异步{等待Firebase.initializeApp();
if(message.notification !=null){
if(message.data['key1'] =='N7'){
if(context !=null){
Navigator.pushNamed(context,LoginScreen.screenId);
}
}
}
print("Handling a background message: ${message.messageId}");
}
@override
void initState() {FirebaseMessaging.onBackgroundMessage(_firebaseMessagingBackgroundHandler);}
1条答案
按热度按时间zfciruhq1#
有很多方法可以做到这一点。
1您可以通过使用实用程序来使用flutter_foreground_task
带路由
老实说,我不知道它是否根据文档运行IOS(您可以)。
2或在AndroidNotificationDetails中将参数fullScreenIntent设置为真,如果您使用flutter_local_notifications,然后您可以处理该操作(它的工作就像有人点击通知),但仅在Android中工作。