android webview onpage started,混合开发webview集成方式和原生页面的通信问题!

问题一:在创建webview的时候如何附带数据?

官方5+ SDK api里面的IWebView类里面有两个方法:

setWebViewEvent(java.lang.String pDataType, java.lang.Object obj) //设置数据给Webview

setWebviewProperty(java.lang.String key, java.lang.String value) //设置webview指定的key属性值

以下是Android代码:

public void onCoreInitEnd(ICore coreHandler) {

// 设置单页面集成的appid

String appid = "TestAppid";

// 单页面集成时要加载页面的路径,可以是本地文件路径也可以是网络路径

String url = "file:///android_asset/apps/H5Plugin/www/index.html";

webview = SDK.createWebview(activity, url, appid, new IWebviewStateListener() {

@Override

public Object onCallBack(int pType, Object pArgs) {

switch (pType) {

case IWebviewStateListener.ON_WEBVIEW_READY:

// 准备完毕之后添加webview到显示父View中,设置排版不显示状态,避免显示webview时,html内容排版错乱问题

((IWebview) pArgs).obtainFrameView().obtainMainView().setVisibility(View.INVISIBLE);

SDK.attach(mRootView, ((IWebview) pArgs));

break;

case IWebviewStateListener.ON_PAGE_STARTED:

// 首页面开始加载事件

break;

case IWebviewStateListener.ON_PROGRESS_CHANGED:

// 首页面加载进度变化

break;

case IWebviewStateListener.ON_PAGE_FINISHED:

// 页面加载完毕,设置显示webview

webview.obtainFrameView().obtainMainView().setVisibility(View.VISIBLE);

//下面的这句就是往webview传参,两个方法都尝试了,位置放到显示webview代码之前也不行

webview.setWebViewEvent("testName","10086");

break;

}

return null;

}

});

下面是JS获取参数的代码,当然是在plus初始化之后调用的

plus.webview.currentWebview().testName

第一个问题到此为止,这也是最迫切需要解决的问题。。。

问题二:以webview集成方式js里面调用 plus.webview.create 创建一个新的webview无效。。。

如果5+ SDK不支持我上述的创建方法,那么页面之间的跳转可以用a标签代替,那么问题来了,返回键的监听函数应该如何判断,是在js里面重写back方法还是在Android里面来重写监听方法?

问题三:能否让5+创建的webview和原生的一些view在同一个activity显示,或者是Fragment的方式实现?

这个问题论坛里面很少有人问到,即使问了也没有啥有建设性的方案,求官方给个具体的教程吧。官方的5+SDK API真是不想吐槽了,看来官方的主要方向还是在webapp上面,混合开发的资料都很少....

最后还是求官方出个加载通信和实时通信的教程吧@五块钱的果汁、@DCloud_SDK_骁骑

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值