Luc*_*tos 1 push-notification firebase flutter flutter-dependencies
我正在使用 firebase 消息传递 9.0 版本,并希望用户在应用程序关闭时接收并单击通知时进入特定屏幕。
\n我目前可以在应用程序打开或最小化的情况下进行管理,但我不知道如何在应用程序未打开时执行此操作。
\nFuture<void> _firebaseMessagingBackgroundHandler(RemoteMessage message) async {\n\n await Firebase.initializeApp();\n Model model = Model();\n id = "sasassa;\n Get.offNamed("$SCREEN_ROUTE",arguments: model);\n Storage storage = Storage();\n storage.setReceivedNotification(true);\n print("teste notifica\xc3\xa7\xc3\xa3o recebida");\n\n}\n\nFirebaseMessaging.instance.getInitialMessage().then((message){\n if (message != null){\n Model model = Model();\n id = "sasassa;\n Get.offNamed("$SCREEN_ROUTE",arguments: model);\n }\n });\n\n FirebaseMessaging.onMessageOpenedApp.listen((RemoteMessage message) {\n print("a");\n storage.setReceivedNotification(true);\n Model model = Model();\n id = "sasassa;\n Get.offNamed("$SCREEN_ROUTE",arguments: model);\n //Navigator.pushNamed(context, '/events');\n });\n\n\n FirebaseMessaging.onMessage.listen((RemoteMessage message) async {\n print("b");\n storage.setReceivedNotification(true);\n print("teste b $message");\n String? corpo = message.notification?.body;\n String? titulo = message.notification?.title;\n String? image = message.notification?.android?.imageUrl;\n //showMyDialog(titulo: titulo,corpo: corpo);\n\n print("$corpo $titulo $image");\n\n });\n
Run Code Online (Sandbox Code Playgroud)\n我尝试在backgroundHandler中使用共享首选项,但这样即使用户没有单击通知,也会发生重定向。
\n有人知道如何通过点击特定通知来关闭应用程序来重定向吗?
\nPS:我知道我需要在通知正文中发送数据,我只是想了解如何让flutter在9.0或更高版本中关闭应用程序时捕获点击。
\n小智 5
使用FirebaseMessaging.instance.getInitialMessage()
方法获取消息
如果应用程序被关闭/终止
FirebaseMessaging.instance
.getInitialMessage()
.then((RemoteMessage message) {
print("FirebaseMessaging.getInitialMessage $message");
});
Run Code Online (Sandbox Code Playgroud)
使用FirebaseMessaging.onMessageOpenedApp
方法获取消息
如果应用程序在后台
FirebaseMessaging.onMessageOpenedApp
.listen((RemoteMessage message) {
print("FirebaseMessaging.onMessageOpenedApp $message");
});
Run Code Online (Sandbox Code Playgroud)
使用FirebaseMessaging.onMessage
方法会收到一条消息
如果应用程序在前台
FirebaseMessaging.onMessage
.listen((RemoteMessage message) {
print("FirebaseMessaging.onMessage $message");
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2385 次 |
最近记录: |