问题描述
在Activity直接传递数据必须序列化,JSCallback如何序列化呢?
问题解答
回答1:JSCallback是将结果丟到回调函数里面,而这个结果可以通过JSCallback的invoke塞进去。例如:
@JSMethod(uiThread = false)public void getLoginInfo(String name,JSCallback success,@Nullable JSCallback error) {Map<String, Object> options = new HashMap<>();options.put('name',name);success.invoke(options); //丢到js的成功回调里面if(error!=null){ error.invoke(null); //丢到js的失败回调里面} }
invoke传入的是object,前端会自动解析,如果是map,前端js拿到的就是json对象;你的问题比较含糊不清 ,可以具体描述下使用场景。JSCallback 本身是个回调工具,干嘛对它进行序列化呢?