【发布时间】:2020-11-25 10:33:29
【问题描述】:
我现在正在使用 FCM 向我的设备发送推送通知,它运行良好。但是,当应用程序打开时,我只有在该特定页面中时才会执行 onResume。无论用户在哪个页面(或类)上,我都想在顶部显示通知。 基本上我希望全局显示通知(显示弹出窗口)。任何帮助,将不胜感激。以下是显示通知页面的代码。
if (Platform.isIOS) {
iosSubscription = _fcm.onIosSettingsRegistered.listen((data) {
_saveDeviceToken();
});
_fcm.requestNotificationPermissions(IosNotificationSettings());
} else {
_saveDeviceToken();
}
_fcm.configure(
onMessage: (Map<String, dynamic> message) async {
print("onMessage: $message");
var temp = message['notification'];
setState(() {
title.add(temp['title']);
body.add(temp['body']);
});
showDialog(
context: context,
builder: (context) => AlertDialog(
content: ListTile(
title: Text(message['notification']['title']),
subtitle: Text(message['notification']['body']),
),
actions: <Widget>[
FlatButton(
color: const Color(0xFF650572),
child: Text('Ok'),
onPressed: () => Navigator.of(context).pop(),
),
],
),
);
},
onLaunch: (Map<String, dynamic> message) async {
print("onLaunch: $message");
Navigator.push(
context, MaterialPageRoute(builder: (context) => MessageHandler()));
// TODO optional
},
onResume: (Map<String, dynamic> message) async {
print("onResume: $message");
Navigator.push(context,
MaterialPageRoute(builder: (context) => MessageHandler()));
// TODO optional
},
);
}
【问题讨论】:
-
您是否设法修复它。我也在为此苦苦挣扎。您能否将工作代码分享为下面的答案。
标签: android flutter notifications firebase-cloud-messaging