要在Android中读取WebView的HTML并将数据发送到Java,可以使用以下步骤和示例代码:
WebView webView = findViewById(R.id.webview);
webView.loadUrl("file:///android_asset/sample.html");
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// 页面加载完成后,调用JavaScript的方法获取HTML内容
if (url.equals("file:///android_asset/sample.html")) {
view.loadUrl("javascript:window.Android.getContent(document.documentElement.outerHTML);");
return true;
}
return super.shouldOverrideUrlLoading(view, url);
}
});
public class JavaScriptInterface {
@JavascriptInterface
public void getContent(final String html) {
// 在这里将HTML内容发送到Java
runOnUiThread(new Runnable() {
@Override
public void run() {
// 处理HTML内容
processHTML(html);
}
});
}
}
webView.addJavascriptInterface(new JavaScriptInterface(), "Android");
private void processHTML(String html) {
// 在这里处理接收到的HTML内容
Log.d("HTML", html);
}
通过以上步骤,你可以在Android中读取WebView的HTML并将数据发送到Java。在上述示例代码中,我们加载了一个名为"sample.html"的本地HTML文件,并通过JavaScript中的getContent方法将HTML内容发送到Java。你可以根据自己的需求进行修改和扩展。