我正在使用 firebase 控制台将通知发送到我的 android 设备,当应用程序处于后台或前台状态时它工作正常。但它没有收到处于终止状态的通知,因为 m 没有附加任何数据,它不应该是数据通知。
_firebaseMessaging.configure(
onMessage: (Map<String, dynamic> message) async {
MessageDialog messageDialog = new MessageDialog();
messageDialog.information(context, "Notification");
print('on message $message');
},
onResume: (Map<String, dynamic> message) async {
print('on resume $message');
},
onLaunch: (Map<String, dynamic> message) async {
print('on launch $message');
},
);
最佳答案
要在应用程序处于后台时接收通知,您可以使用 后台消息
firebaseMessaging.configure(
onMessage: (Map<String, dynamic> message) {
print('on message $message');
handleNotification(message);
return;
},
onBackgroundMessage: fcmBackgroundMessageHandler,
onResume: (Map<String, dynamic> message) {
print('$fcmTag on resume $message');
return;
},
onLaunch: (Map<String, dynamic> message) {
print('$fcmTag on launch $message');
return;
},
);
这里是 fcmBackgroundMessageHandler
static Future<dynamic> fcmBackgroundMessageHandler(Map<String, dynamic> message) {
if (message.containsKey('data')) {
// Handle data message
final dynamic data = message['data'];
//handleNotification(message);
}
if (message.containsKey('notification')) {
// Handle notification message
final dynamic notification = message['notification'];
} }
注意:当应用程序处于 Kill 状态时,我仍在寻找解决方案来接收解决方案。得到解决方案后我会更新答案
关于android - 当应用程序被杀死时,Flutter android不会收到通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54123641/