要检测Android WebView中特定页面的更改,您可以使用以下解决方法:
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// 在此处检测页面更改
return super.shouldOverrideUrlLoading(view, url);
}
});
在shouldOverrideUrlLoading方法中,可以获取到页面的URL,并在此处进行页面更改的检测。
webView.setWebChromeClient(new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int newProgress) {
// 在此处检测页面更改
super.onProgressChanged(view, newProgress);
}
});
在onProgressChanged方法中,可以获取到页面加载进度,并在此处进行页面更改的检测。
webView.addJavascriptInterface(new Object() {
@JavascriptInterface
public void onPageChanged() {
// 在此处检测页面更改
}
}, "AndroidInterface");
然后在您的HTML页面中,使用以下JavaScript代码来通知Android页面发生了更改:
function notifyPageChanged() {
AndroidInterface.onPageChanged();
}
在页面更改的地方调用notifyPageChanged()函数,即可触发AndroidInterface的onPageChanged方法。您可以在该方法中进行页面更改的检测。
请注意,这些方法都需要在您的Activity或Fragment中设置WebView的相应回调,并在回调方法中进行页面更改的检测。