Android flatter:Firebase通知:在前台-后台-点击通知后被杀死

Android flatter:Firebase通知:在前台-后台-点击通知后被杀死,android,firebase,flutter,push-notification,notifications,Android,Firebase,Flutter,Push Notification,Notifications,我已经在Android上制作了一个Flitter应用程序,并使用firebase进行推送通知。。一切都做得很完美。。。我收到了所有案件的通知 我的问题是单击通知时: 我想打开数据集上接收到的数据,并通知传递到特定屏幕(称为SingleNotification)并显示其中的内容 前景:什么也没发生 背景:打开应用程序,但不打开主屏幕 终止或终止:然后打开应用程序启动屏幕 单程通知 并正确显示数据 我的服务器发送“通知”,“数据”,正如flifter和Firebase的文档所说 代码: v

我已经在Android上制作了一个Flitter应用程序,并使用firebase进行推送通知。。一切都做得很完美。。。我收到了所有案件的通知

我的问题是单击通知时: 我想打开数据集上接收到的数据,并通知传递到特定屏幕(称为SingleNotification)并显示其中的内容

  • 前景:什么也没发生
  • 背景:打开应用程序,但不打开主屏幕
  • 终止或终止:然后打开应用程序启动屏幕 单程通知
  • 并正确显示数据


    我的服务器发送“通知”,“数据”,正如flifter和Firebase的文档所说 代码:

        var android = new AndroidInitializationSettings("mipmap/ic_launcher");
    var ios = new IOSInitializationSettings();
    var platform = new InitializationSettings(android, ios);
    flutterLocalNotificationsPlugin.initialize(platform);
    
    if (Platform.isIOS) iOS_Permission();
    
    _firebaseMessaging.getToken().then((token){
    
      if(deviceToken == "") {
        _saveFirbaseToken(token);
        print(token);
      }
    });
    
    _firebaseMessaging.configure(
      onMessage: (Map<String, dynamic> message) async {
        print('on message $message');
    
        _showNotification(message);
    
          Navigator.push(
              context,
              MaterialPageRoute(
                builder: (context) => SingleNotification(message['notification']['title'],message['notification']['body']),
              ));
    
      },
      onResume: (Map<String, dynamic> message) async {
        print('on Resume $message');
    
          Navigator.push(
          context,
          MaterialPageRoute(
            builder: (context) => SingleNotification(message['data']['title'],message['data']['body'])),
    
      },
      onLaunch: (Map<String, dynamic> message) async {
    
        Navigator.push(
            context,
            MaterialPageRoute(
              builder: (context) => SingleNotification(message['data']['title'],message['data']['body']),
            ));
      },
    );
    
    var android=新的AndroidInitializationSettings(“mipmap/ic_启动器”);
    var ios=新的IOSInitializationSettings();
    var平台=新的初始化设置(android、ios);
    flatterLocalNotificationsPlugin.initialize(平台);
    if(Platform.isIOS)iOS_权限();
    _firebaseMessaging.getToken().then((令牌){
    如果(deviceToken==“”){
    _saveFirbaseToken(令牌);
    打印(代币);
    }
    });
    _firebaseMessaging.configure(
    onMessage:(映射消息)异步{
    打印('on message$message');
    _显示通知(消息);
    导航器。推(
    上下文
    材料路线(
    生成器:(上下文)=>SingleNotification(消息['notification']['title'],消息['notification']['body']),
    ));
    },
    onResume:(映射消息)异步{
    打印('在简历上$message');
    导航器。推(
    上下文
    材料路线(
    生成器:(上下文)=>SingleNotification(消息['data']['title'],消息['data']['body']),
    },
    onLaunch:(映射消息)异步{
    导航器。推(
    上下文
    材料路线(
    生成器:(上下文)=>SingleNotification(消息['data']['title'],消息['data']['body']),
    ));
    },
    );
    

    \u显示通知(映射消息)异步{
    var android=新的AndroidNotificationDetails('channel_id','channel NAME','channel Description');
    var iOS=新的IONotificationDetails();
    var平台=新通知详细信息(android、iOS);
    //读取数据
    字符串标题=消息['data']['title'];
    字符串描述=消息['data']['body'];
    等待LocalNotificationsPlugin.show(0,标题,描述,平台);
    导航器。推(
    上下文
    材料路线(
    生成器:(上下文)=>SingleNotification(消息['data']['title'],消息['data']['body']),
    ));
    
    }


    任何帮助都将不胜感激…谢谢

    _showNotification(Map<String, dynamic> message) async{
    
    var android = new AndroidNotificationDetails('channel_id', "CHANNEL NAME", "Channel Description");
    var iOS = new IOSNotificationDetails();
    var platform = new NotificationDetails(android, iOS);
    
    // Read Data
    String title = message['data']['title'];
    String description = message['data']['body'];
    
    
    await flutterLocalNotificationsPlugin.show(0,title, description, platform);
    
    Navigator.push(
        context,
        MaterialPageRoute(
          builder: (context) => SingleNotification(message['data']['title'],message['data']['body']),
        ));