Flutter FCM 推送通知不起作用
Posted
技术标签:
【中文标题】Flutter FCM 推送通知不起作用【英文标题】:Flutter FCM Push Notificaiton Not Working 【发布时间】:2020-10-14 20:28:06 【问题描述】:我正在使用 Firebase 推送通知的颤振应用程序。我有一个问题是 onMessage 我从 Firebase 接收数据,但问题是唯一打印数据工作正常但不能导航到其他屏幕。
_configureFirebaseMessageing()
_firebaseMessaging.configure(
onMessage: (Map<String, dynamic> message) async
print('\n\n\n message from fcm \n $message\n\n\n\n');
Navigator.pushNamed(context, Routes.FirstProfile);
,
onLaunch: (Map<String, dynamic> message) async
Navigator.push(context, MaterialPageRoute(builder: (BuildContext context)
return NativationPage("this is from main ON Resume $message['data']['title']");
));
,
onResume: (Map<String, dynamic> message) async
Navigator.push(context, MaterialPageRoute(builder: (BuildContext context)
return NativationPage("this is from main ON Resume $message['data']['title']");
));
,
);
这是我的代码,是的,只有控制台上的打印数据有效,并且导航到其他屏幕在所有三个 onMessage、onLaunch 和 onResume 上都无效。
我在控制台中有一个错误:
E/FlutterFcmService( 2445): Fatal: failed to find callback
第二个错误是
w/firebasemessaging( 2445): missing default notification channel metadata in android manifest. default value will be used.
【问题讨论】:
【参考方案1】:导航:
我认为这是 onMessage 内部的上下文问题。您必须在 MaterialApp 小部件中定义 navigatorKey,然后您可以使用 navigatorKey.currentContext 访问 onMessage 中的当前上下文。
更多详情可以查看answer。
错误/警告:
错误和警告是因为您错过了一些插件配置。尽一切努力提及here
【讨论】:
以上是关于Flutter FCM 推送通知不起作用的主要内容,如果未能解决你的问题,请参考以下文章