如何将带有invokeMethod的字符串数组从本机传递到flutter

时间:2019-07-15 07:34:20

标签: android flutter

基于此thread 我想将字符串数组作为参数传递给this:

Object obj = new String[] {"Hello","Bye"};
channel.invokeMethod("foo",obj, new MethodChannel.Result(){
...
);

但显示错误:

  

不受支持的值:[Ljava.lang.String。

我该怎么做?

1 个答案:

答案 0 :(得分:2)

StandardMessageCodec不支持数组(intbyte除外)。对于对象,它支持Java集合,例如ListMap。将您的String数组更改为List<String>

ArrayList<String> args = new ArrayList<>();
args.add("Hello");
args.add("Bye");
channel.invokeMethod("foo", args, new MethodChannel.Result(){