设置一下WebView
WebView webView = findViewById(R.id.webView);
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);//设置能够解析Javascript
webSettings.setDomStorageEnabled(true);//设置适应Html5的一些方法
webSettings.setUseWideViewPort(true);
webSettings.setLoadWithOverviewMode(true);
Map<String, String> headers= new HashMap<String, String>();
headers.put("token", token);
// function 是后台定义的方法名,比如 xxx.xxx.function(),
// WebInterface是具体获取的方法,@JavascriptInterface 注解一定要加
webView.addJavascriptInterface(new WebInterface(), "function");
// headers是添加的请求头,不需要可以去掉
webView.loadUrl(PathManager.shopIndex, headers);
public class WebInterface {
@JavascriptInterface
public void postMessage(String result) {
runOnUiThread(new Runnable() {
@Override
public void run() {
//TODO 如果请求成功的话,result就是交互返回的数据
}
});
}
}
Android 调 js
webView.setWebViewClient(new WebViewClient() {
// 放在webView加载完成时 调用
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
try {
String msg = "show content";
// 括号中就是要给js 传的数据,一定要转义!转义 - -.
webView.loadUrl("javascript:showInfoFromJava(\"" + msg + "\")");
} catch (Exception e) {
e.printStackTrace();
}
}
});
如果想要在webView上操作上传图片 可以参考:
https://www.jb51.net/article/105986.htm也可以使用js 调Android的方法进行交互