以下是我的代码:

var typeId = message!=null?message.data["payload"]:payload;

if(typeId["type"]=="XYZ"){
//Navigate to a screen

}else{}

这不是工作和抛出异常.

推荐答案

你的例外是因为你没有破译你的message.data["payload"]. 因为数据有效负载包含自定义键-值对,而不是JSON格式.你必须破译它.

以下是您的解决方案:

var typeId = message!=null ?  json.decode(message.data["payload"]) : payload;

if(typeId["type"]=="XYZ"){

//Navigate to a screen

}
else{

}

快乐的编码...

Flutter相关问答推荐

未处理异常:字符串类型不是值类型子类型的子类型'

在setState之后,Ffltter ListView.Builder未更新

如何从RealmResults获取Flutter Flutter 流?

如何在Flutter 中使用滚动展开窗口小部件

Ffltter Firebase向用户添加公司

如何手动将 FirebaseAuth 用户邮箱验证状态设置为 true

请求已在 flutter 中发送到 django 服务器,并且已返回响应,但条件仍然为 false

当 Dart SDK 版本范围不匹配时,为什么依赖解析器不会抛出错误?

Flutter 构建 Web 分段故障 - 无法启动事件处理程序线程

Flutter:我的应用程序是否需要包含退款购买?

Flutter 未处理的异常 - 对 null 值使用 Null 判断运算符

如何修改来自合并 list 的 Android list 权限?

Flutter屏幕适配 - 在模拟器和真实手机上文本尺寸不同

我可以在列表图块下方添加其他小部件吗

如何更改 DropDownMenu 的显示方向?

如何获取 android 和 Ios (flutter) 的 CircularProgress 指示器?

如何制作两个显示相关内容且可编辑的文本字段?

Flutter Web Responsiveness 效率不高

Flutter - 检测手指何时进入容器

单击列表视图导航到 Flutter 中的另一个页面