これが解決策です。
リンクがベース URL WebView と等しい場合、現在のページのみで作業したいと考えます。
次のようにキャッチしてみることができます
webViewer.setWebViewClient(new WebViewClient() {
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
System.out
.println("DetailViewActivity.onCreate(...).new WebViewClient() {...}.onPageStarted()");
super.onPageStarted(view, url, favicon);
}
@Override
public void onPageFinished(WebView view, String url) {
System.out
.println("DetailViewActivity.onCreate(...).new WebViewClient() {...}.onPageFinished()");
super.onPageFinished(view, url);
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
System.out
.println("DetailViewActivity.onCreate(...).new WebViewClient() {...}.shouldOverrideUrlLoading()");
return false;
}
});
ただし、webView でリンクをクリックすると、base_urlで onPageFinishedのみshouldOverrideUrlLoadingまたはonPageStartedが起動されることはありません。
したがって、私のソリューションは、ベースURLにwwwプレフィックスのない別のドメインを使用することです。
ここでは、www.example.com をドメイン化し、ベース URL example.com を使用する場合の例を示します。