現(xiàn)在H5嵌入 Android App開發(fā)中已是一種潮流,經(jīng)常會遇到H5與java交互的場景,本文根據(jù) https://github.com/lzyzsd/JsBridge/ 封裝了可以同步Cookie惑灵,header ,帶有加載進(jìn)度,以及下拉刷新的JsBridge盒卸,并解決了部分問題。
項(xiàng)目git 地址 https://github.com/tianwei0828/JsBridge
RefreshProgressWebView refreshProgressWebView = (RefreshProgressWebView) findViewById(R.id.rpwv);
// 注冊 java 調(diào)用 js 中名為 jsHandlerName 的 方法
refreshProgressWebView.registerJsHandler("jsHandlerName", new JsHandler() {
@Override public void onHandler(String handlerName, String responseData, CallBackFunction function) {
//js返回值
} });
// 注冊 js 調(diào)用 java 中名為 javaHandlerName 的方法次氨,并且在調(diào)用的時候蔽介,java將sendToJsData 給到j(luò)s
refreshProgressWebView.registerJavaHandler("javaHandlerName", "sendToJsData", new JavaHandler() {
@Override public void onHandler(String handlerName, String jsResponseData) {
//js 返回值
} });
//添加cookie
Map<String, String> cookies = new HashMap<>();
cookies.put("key", "value");
refreshProgressWebView.setCookies("url", cookies);
//開啟下拉刷新功能,默認(rèn)開啟
refreshProgressWebView.setEnabled(true);
//添加header
refreshProgressWebView.setHeader("key","value");
//load url
refreshProgressWebView.load("https://www.baidu.com");