目前,onMessage 函数将显示一个 AlertDialog。此功能工作正常。
但是,当应用程序在前台时,我想显示一个 snackbar 。
有没有人有这方面的例子?
我当前的初始化状态:
void initState() {
super.initState();
getCurrentUser();
extractMachineIDs(); //IGNORE
getMachineStatus(0); //IGNORE
_fcm.configure(
onMessage: (Map<String, dynamic> message) async {
print("onMessage: $message");
showDialog( // I WANT A SNACKBAR HERE INSTEAD
context: context,
builder: (context) => AlertDialog(
content: ListTile(
title: Text(message['notification']['title']),
subtitle: Text(message['notification']['body']),
),
actions: <Widget>[
FlatButton(
child: Text('DISMISS'),
onPressed: () => Navigator.of(context).pop(),
),
],
),
);
},
onLaunch: (Map<String, dynamic> message) async {
print("onLaunch: $message");
},
onResume: (Map<String, dynamic> message) async {
print("onResume: $message");
Navigator.pushNamed(context, AlertsNotifications.id);
},
);
}
最佳答案
用这个代替showDialog
:
final snackBar = SnackBar(
content: Text('Yay! A SnackBar!'),
action: SnackBarAction(
label: 'Some Text',
onPressed: () {
// Some code.
},
),
);
Scaffold.of(context).showSnackBar(snackBar);
关于flutter - 通过 FCM 收到通知时触发小吃吧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63613808/