«

android webview获取网页内容,高版本api解决办法

时间:2024-3-2 17:08     作者:韩俊     分类: Android


内部类handler

class Handler {

public void show(String data) {

Toast.makeText(WebViewActivity.this,

data, 0).show();

}

}


webview 设置

webView = new WebView(this);
setContentView(webView);
webView.loadUrl(“ http://www.baidu.com “);
webView.getSettings().setJavaScriptEnabled(true);
webView.addJavascriptInterface(new Handler(), “handler”);
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
Toast.makeText(WebViewActivity.this, “网页加载完成”, 0).show();
view.loadUrl(“javascript:window.handler.show(document.body.innerHTML);”);
super.onPageFinished(view, url);
}
});

这是网络上普遍的说法,但是实际使用中,只有taget小于4.2.2的时候才有效,

在高版本的android中,需要在show方法前面添加@JavascriptInterface标记

然后代码才能生效

网上的代码全都没给这关键的标记,让大多数人走了弯路

标签: android

热门推荐