// 直接调用startActivity方法即可 TbWebViewActivity.startActivity(mContext, "http://www.baidu.com", null, // null表示不需要cookie null); // null表示不额外增加js接口,和系统组件保持一致,将接口加在TbJsBridge下FE代码:
// FE通过如下代码即可调用客户端开放的js interface var closePage = function(){ if(window.TbJsBridge && typeof TbJsBridge === 'function') { TbJsBridge.closePage("我来自FE的自定义消息!"); } };
<a href="?jump=closewebview">url参数:关闭页面</a>
// 创建需要同步的cookie信息 HashMap<String, String> cookieMap = new HashMap<String, String>(); cookieMap.put("baidu.com", "uname=zxlie;timestamp=20140219"); cookieMap.put("google.com", "uname=zxlie;timestamp=20140219"); TbWebViewActivity.startActivity(mContext, "http://www.baidu.com", cookieMap, // 传递cookie信息 null); // 不需要额外的js interface
// 在TbJsBridge.java类中增加这样的方法即可: public String getNetWorkType() { String networkType = ""; // TODO:获取网络类型的java代码,在这里写,并保存到networkType变量中 return networkType; } /*************************************************************/ // 然后RD调用startActivity方法直接调起WebView即可: TbWebViewActivity.startActivity(mContext, "http://www.baidu.com", null, // null表示不需要cookie null); // null表示不额外增加js接口,和系统组件保持一致,将接口加在TbJsBridge下FE代码:
// FE通过如下代码即可调用客户端开放的js interface var getNetWorkType = function(){ if(window.TbJsBridge && typeof TbJsBridge === 'function') { // 获取当前网络状态 var currentNetWorkType = TbJsBridge.getNetWorkType(); } };
// 在FaceJsBridge.java类中增加这样的方法即可: public void buy(String faceID) { /* your code */ }2)、在proguard.cfg中增加配置,禁止FaceJsBridge类中的接口被混淆
-keep public class com.baidu.tieba.util.FaceJsBridge { *;}3)、调用如下接口
// 在FaceJsBridge.java类中增加这样的方法即可: HashMap<String, JavascriptInterface> mJsInterfaces = new HashMap<String, JavascriptInterface>(); mJsInterfaces.put("FaceJsBridge", new JavascriptInterface() { @Override public Object createJsInterface(Activity activity) { return new FaceJsBridge(activity); // 注意这里return的对象 } }); TbWebViewActivity.startActivity(mContext, "http://www.baidu.com", null, // null表示不需要cookie mJsInterfaces); // 传入新的jsInterfaceFE代码:
// FE通过如下代码即可调用客户端开放的js interface var buyFace = function(faceId){ if(window.FaceJsBridge && typeof FaceJsBridge === 'function') { FaceJsBridge.buy(faceID); } };