android 如何在flutter中使用firebase通知在没有用户交互的情况下打开屏幕

wztqucjr  于 2023-03-21  发布在  Android
关注(0)|答案(1)|浏览(204)

我想做一个应用程序,当它收到来自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);}
zfciruhq

zfciruhq1#

有很多方法可以做到这一点。
1您可以通过使用实用程序来使用flutter_foreground_task

FlutterForegroundTask.launchApp();

带路由

FlutterForegroundTask.launchApp('/next_page');

老实说,我不知道它是否根据文档运行IOS(您可以)。
2或在AndroidNotificationDetails中将参数fullScreenIntent设置为真,如果您使用flutter_local_notifications,然后您可以处理该操作(它的工作就像有人点击通知),但仅在Android中工作。

相关问题