私はこれらのコードを持っています:
_ public class MyAppWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
//want url of the webview in here
}
_
知りたいのですが、WebViewのURLを取得してURLの読み込みを上書きするにはどうすればよいですか。 shouldOverrideUrlLoading(WebView view, String url)
メソッドは、API21では廃止されました。
前もって感謝します!
\ Android\sdk\sources\Android-25\Android\webkit\WebViewClient.Javaに、このコードが表示されます。
したがって、あなたの質問に対する簡単な答えは次のとおりです。request.getUrl().toString()
GrepCode のソースを確認してください。
boolean shouldOverrideUrlLoading (WebView view, String url)
API 24で非推奨、boolean shouldOverrideUrlLoading (WebView view, WebResourceRequest request)
APIレベル24で追加
@RequiresApi(api = Build.VERSION_CODES.N)
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
if(Uri.parse(request.getUrl().toString()).getHost().endsWith("google.com")) {
//The Host application wants to leave the current WebView and handle the url itself.
return true;
}
if(Uri.parse(request.getUrl().toString()).getHost().endsWith("yandex.com")) {
//The current WebView handles the url.
return false;
}
if(Uri.parse(request.getUrl().toString()).getScheme().equals("file")) {
//The current WebView handles the url.
return false;
}
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(request.getUrl().toString()));
view.getContext().startActivity(intent);
return true;
}
私の答えを見てくださいそれがあなたを助けるかもしれません... !!!!
WebView webview = new WebView(context);
webview.setWebViewClient(new WebViewClient()
{
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
System.out.println("your current url when webpage loading.." + url);
}
@Override
public void onPageFinished(WebView view, String url) {
System.out.println("your current url when webpage loading.. finish" + url);
super.onPageFinished(view, url);
}
@Override
public void onLoadResource(WebView view, String url) {
// TODO Auto-generated method stub
super.onLoadResource(view, url);
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
System.out.println("when you click on any interlink on webview that time you got url :-" + url);
return super.shouldOverrideUrlLoading(view, url);
}
});