HarmonyOS flutter与HarmonyOS原生交互传值问题?

在flutter端跟HarmonyOS原生交互传值时,如果传的值在第一层是正常的,如果包裹了一层Map,在HarmonyOS端就接收不到了。

例如:

_channel.invokeMethod("clearCache", {"name": "李四", "sex": 18, "config": {
  "age": "20"
}})

name和sex在HarmonyOS端通过 call.argument(“name”)可以获取到,但是config获取不到。

阅读 609
1 个回答

通过这个方法可以获取到:

clearCacheResult(call: MethodCall, backResult: MethodResult) {
  let config: Map<Any, Any> = call.argument("config")
  let name: string = call.argument("name");
  Log.i('[Scan CPSample]', '返回参数 字典数据: ' + JSON.stringify(config.get("age")));
  Log.i('[Scan CPSample]', '返回参数 名字:' + name);
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进