AActivity通过startActivityForResult方式打开BActivity,BActivity是通过SDK.startWebApp方式打开的html页面,现在在html页面操作完毕之后返回到AActivity页面发现通过Bundle方式将对象数据传递编译通不过 "Uncaught SyntaxError: Unexpected identifier"。NJS不支持bundle的Serializable序列化方式传递参数吗?还是我哪里出了问题?请教一下谢谢!!
var currentActivity = plus.android.runtimeMainActivity();
var Intent = plus.android.importClass('android.content.Intent')
var intent = new Intent();
var Bundle = plus.android.importClass('android.os.Bundle');
var Serializable = plus.android.importClass('java.io.Serializable');
var bundle = new Bundle();
var uerser = new Object();
uerser.name = '张三';
uerser.address='上海市';
// ****下面这句提示 【Uncaught SyntaxError: Unexpected identifier】 ******/
mBundle.putSerializable("user", (Serializable)uerser);
intent.putExtra('bundle', mBundle);
currentActivity.setResult(200,intent);
currentActivity.finish();
但是通过Intent传递简单的数据是可以成功:如下可以成功
var currentActivity = plus.android.runtimeMainActivity();
var Intent = plus.android.importClass('android.content.Intent')
var intent = new Intent();
intent.putExtra('data', "返回起调activity的onActivityResult");
currentActivity.setResult(200,intent);
currentActivity.finish();
NJS如何传递对象类型数据到native层呢?通过自定义插件貌似也是通过数组的方式将参数传递到Native层。
2 个回复
xiamo152 (作者)
验证了一下 通过Bundle可以传递基本数据类型,但是序列化的对象不能传递,如果想要传递序列话对象应该如何实现呢?
xiamo152 (作者)
已解决,换了一种思路,将bean对象通过JSON转换为string后传递