firebase - Firebase 云消息传递。onMessage.onListen 不起作用。(颤振机器人)
问题描述
信息
- Firebase 云消息传递 onMessage.listen 不起作用。它没有错误,它什么也不做。甚至没有激活 onListen 功能。
- 可以发消息就好了。
- 已经在android/app/build.gradle中添加了所需的代码
发布规范.yaml
firebase_messaging: ^8.0.0-dev.10
主要.dart
Future<void> main() async {
await Firebase.initializeApp();
FirebaseMessaging.onBackgroundMessage(FirebaseMessagingBackgroundHandler);
await flutterLocalNotificationsPlugin
.resolvePlatformSpecificImplementation<
AndroidFlutterLocalNotificationsPlugin>()
?.createNotificationChannel(channel);
runApp(ModularApp(
module: AppModule(),
));
}
const AndroidNotificationChannel channel = AndroidNotificationChannel(
'high_importance_channel',
'High Importance Notifications',
'This channel is used for important notifications.',
importance: Importance.high,
);
final FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin =
FlutterLocalNotificationsPlugin();
class AppWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
onListen();
return LayoutBuilder(
builder: (BuildContext context, BoxConstraints constraints) {
return OrientationBuilder(
builder: (BuildContext context, Orientation orientation) {
return MaterialApp(
initialRoute: "/main",
title: 'Flutter Demo',
);
},
);
});
}
}
监听方法
onListen() {
FirebaseMessaging.onMessage.listen((RemoteMessage message) {
RemoteNotification notification = message.notification;
AndroidNotification android = message.notification?.android;
if (notification != null && android != null) {
flutterLocalNotificationsPlugin.show(//....);
}
});
}