帖子
帖子
用户
博客
课程
12下一页
返回列表 发新帖
显示全部楼层
5
帖子
0
勋章
33
Y币

[superwebview] 原生主动向H5传参

[复制链接]
发表于 2016-2-24 19:44:30
我在启用superWebView之前需要先通过原生传参到H5的页面,是直接通过moduleContext.success(json, true);传参吗?H5页面怎么接受?

20
帖子
1
勋章
7583
Y币
待审核
20
帖子
1
勋章
7583
Y币
启动SuperWebView之前,H5页面都还未执行,传参给它是没有意义的。

ModuleContext.success();是用于页面运行期间,Java回调数据给H5的。

你可以在start SuperWebView所在Activity(ExternalActivity)这个activity时,往Intent中设置一些参数,这些参数可在H5页面中通过api.pageParam得到。
5
帖子
0
勋章
33
Y币
常山赵子云 发表于 2016-2-25 12:39
启动SuperWebView之前,H5页面都还未执行,传参给它是没有意义的。

ModuleContext.success();是用于页面运 ...

收到,谢谢
5
帖子
0
勋章
33
Y币
常山赵子云 发表于 2016-2-25 12:39
启动SuperWebView之前,H5页面都还未执行,传参给它是没有意义的。

ModuleContext.success();是用于页面运 ...

你好,我在SuperWebView的demo里面的MainActivity设置了参数如下:Intent intent = new Intent(this, WebPageModule.class);
                        //不传递startUrl的情况下,默认走自动加载widget的机制,即:APICloud引擎会自动去解析assets/widget目录下的资源并加载
//                intent.putExtra("startUrl", "file:///android_asset/widget/index.html");
                        intent.putExtra("param1", "11111111");
                        intent.putExtra("param2", 2);
                        intent.putExtra("param3", false);
                startActivity(intent);
结果在index.xml中打api.pageParam为空值:如下:
var json = api.pageParam;
                alert(json);
在继承ExternalActivity的WebPageModule是能正常获取到intent传的参数值得
请问其中有什么遗漏吗?
5
帖子
0
勋章
33
Y币
常山赵子云 发表于 2016-2-26 20:06
需要监听appintent事件才可获取:

我试了你说的方法,app开启第一次从原生到H5页面alert会显示,退回去重来一遍alert就不会提示了。
8
帖子
0
勋章
92
Y币
kkey 发表于 2016-3-1 10:52
我试了你说的方法,app开启第一次从原生到H5页面alert会显示,退回去重来一遍alert就不会提示了。 ...

我和你的问题一样 ,请问解决了吗
第二次不会执行
8
帖子
0
勋章
92
Y币
常山赵子云 发表于 2016-2-25 12:39
启动SuperWebView之前,H5页面都还未执行,传参给它是没有意义的。

ModuleContext.success();是用于页面运 ...

我和楼主的问题一样  ,退回去第二次 addEventlisener监听不到客户端的发送
20
帖子
1
勋章
7583
Y币
退回去第二次也会,如果你自己的原生代码中,把onnewintent拦截了,那就自行处理,SuperWebview不再接收。
20
帖子
1
勋章
7583
Y币
301超 发表于 2016-9-9 15:29
我们原生代码追到的是,用户第二次进入superwebview,走进的还是onCreateintent 发送事件,并没有走到onNe ...

如果走到oncreate,那就不叫“第二次”了,说明你本身就已经完全退出了superwebview所在的activity,重新进入并创建加载了一个。该参数依然可以通过api.appParam获取。
如果你不确定,建议一个保全的做法:
1、调起superwebview所在的activity时,你自己获取参数,并保存在内存
2、H5页面通过api.accessNative,访问原生,原生中将1中保存的参数返回给H5
2
帖子
0
勋章
11
Y币
你们这个问题解决了吗  我也遇到了
12下一页
您需要登录后才可以回帖 登录

本版积分规则