我收到错误无法将参数类型“RemoteMessage”分配给参数类型“Map<String, dynamic>”
Posted
技术标签:
【中文标题】我收到错误无法将参数类型“RemoteMessage”分配给参数类型“Map<String, dynamic>”【英文标题】:I'm getting error The argument type 'RemoteMessage' can't be assigned to the parameter type 'Map<String, dynamic>' 【发布时间】:2021-12-09 07:58:02 【问题描述】:这是我的 getrequestid 代码,它给了我错误:
参数类型 RemoteMessage 不能分配给参数类型'Map
'
所以我需要将远程消息转换为映射消息
final FirebaseMessaging firebaseMessaging=FirebaseMessaging.instance;
Future initialize(context) async
FirebaseMessaging.onMessageOpenedApp.listen(
(RemoteMessage message)
print("im clicked1");
getRideRequestId(message);
,
);
Future getToken() async
String? token=await firebaseMessaging.getToken();
print("This Your Token");
print(token);
driversRef.child(currentfirebaseUser!.uid).child("token").set(token);
firebaseMessaging.subscribeToTopic("alldrivers");
firebaseMessaging.subscribeToTopic("allusers");
String getRideRequestId(Map<String,dynamic> message)
String rideRequestId="";
if(Platform.isandroid)
rideRequestId=message['data']['ride_request_id'];
print("Print request id::");
print(rideRequestId);
else
rideRequestId=message['ride_request_id'];
return rideRequestId;
【问题讨论】:
这就是你想要的getRideRequestId(message.data);
?
我试过了,但它再次给了我错误,尝试 requestid 为 null
你能显示print(message.data);
的输出吗?
E/flutter (7007): [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] 未处理的异常:NoSuchMethodError:方法 '[]' 在 null 上调用。 E/flutter(7007):接收者:null E/flutter(7007):尝试调用:[](“ride_request_id”)
感谢帮助它通过打印 message.data 解决了我的问题我得到了 [data][request_id] 所以我刚刚删除了 [data] 因为 message.data 我已经有了,再次感谢帮助兄弟
【参考方案1】:
消息的数据存储在其data
属性中,因此:
rideRequestId=message.data['ride_request_id'];
对于此类问题,我强烈建议您将产品的参考文档放在手边,例如本例中的RemoteMessage
。
【讨论】:
以上是关于我收到错误无法将参数类型“RemoteMessage”分配给参数类型“Map<String, dynamic>”的主要内容,如果未能解决你的问题,请参考以下文章
错误:无法将类型“(_)->()”的值转换为预期的参数类型“(()-> Void)?”
Swift:无法将“NSDate”类型的值转换为预期的参数类型“NSDateComponents”
我收到未捕获的类型错误:无法将属性“onclick”设置为 null? [复制]