在网上找了好多方法,又麻烦又不好使,然后把以前写的代码翻出来,找出来一种最简单的处理方法,直接看代码
//启用支持javascript WebSettings settings = textWebview.getSettings(); settings.setJavaScriptEnabled(true); //设置支持的关键字 textWebview.addJavascriptInterface(this, "ydt"); textWebview.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } public boolean onJsAlert(WebView view, String url, String message, JsResult result) { result.confirm(); return true; } }); textWebview.loadUrl("http://www.baidu.com");
其中最重要的就是
WebSettings settings = textWebview.getSettings(); settings.setJavaScriptEnabled(true);textWebview.addJavascriptInterface(this, "ydt");
</pre><p></p><p>然后写一个给网页端调用的方法</p><pre code_snippet_id="1631934" snippet_file_name="blog_20160401_7_209812" name="code" class="html"><pre style="font-family: 宋体; font-size: 9pt; background-color: rgb(255, 255, 255);"><pre name="code" class="html">@JavascriptInterface
public void jstoandroid() {
Toast.makeText(TestWeb.this, "js调用了android" , Toast.LENGTH_SHORT).show();
}
然后看html
"ydt"是我设置的关键字,<html> <body> <!-- Calls into the javascript interface for the activity --> <a onClick="window.ydt.jstoandroid()"> Click me! </div></a> </body> </html>
"jstoandroid"是我写的方法
这样就ok了