我正面临一个困境,我想在颤抖的单击中测试导航以获取通知。但目前,我面临的问题如下:
1)在iOS 13.3或更低版本上,我从未在显示屏上收到通知,但应用堆栈显示了通知数据。 2)在物理设备上,我总是收到通知,当我单击该通知时,默认情况下总是打开主屏幕。
问题出在连接到系统的物理设备上,为了进行通知,我从未获得堆栈。因此,很难理解为什么导航总是始终显示到默认主屏幕而不显示在通知中提到的屏幕上。
这可以在模拟器上测试,但是我没有单击的通知,所以我被卡住了:(
下面是处理main.dart
文件中的通知的代码。
@override
void initState() {
super.initState();
_firebaseMessaging.configure(
onMessage: (Map <String, dynamic> message) async {
print("onMessage : $message");
final notice = message['notifications'];
setState(() {
notifications.add(
AppNotification(
title: notice['title'],
body: notice['body'],
url: notice['url'],
),
);
});
},
onLaunch: (Map <String, dynamic> message) async {
print("onLaunch : $message");
Navigator.of(context).pushNamed(message['screen'], arguments: message['notification']['task_id']);
},
onResume: (Map <String, dynamic> message) async {
print("onResume : $message");
Navigator.of(context).pushNamed(message['screen'], arguments: message['notification']['task_id']);
}
);
_firebaseMessaging.requestNotificationPermissions(
const IosNotificationSettings(sound: true, badge: true, alert: true),
);
加上我确实遇到了这个问题,但是当我头顶上的时候。您仍然可以说是新手:/
Flutter firebase push notification not routing to specific page