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