在 WebView Android 中加载 link
Load link in WebView Android
WebView webView = (WebView) findViewById(R.id.webView);
webView.loadUrl("http://google.com");
这是我的 webview 代码。它工作正常,但是当单击 link 时,它会打开默认浏览器并且不会在 webview 中加载 link。
帮帮我!
您需要实现自己的 WebViewClient 来告诉 webView 应处理 url 或 domanis。像这样:
private class BaseWebViewClient extends WebViewClient {
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
if (Uri.parse(request.getUrl().toString()).getHost().contains("yourdomain.com.ar")) {
callback.setWebView(view);
return false;
}
// Otherwise, the link is not for a page on my site, so launch another Activity that handles URLs
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(request.getUrl().toString()));
startActivity(intent);
return true;
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (Uri.parse(url).getHost().contains("yourdomain.com.ar")) {
callback.setWebView(webView);
return false;
}
// Otherwise, the link is not for a page on my site, so launch another Activity that handles URLs
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
return true;
}
}
然后将其设置为您的 webView 元素:
webView.setWebViewClient(new BaseWebViewClient());
webview.setWebViewClient(new WebViewClient())
在你的Activity
WebView webView = (WebView) findViewById(R.id.webView);
webView.setWebViewClient(new BaseWebViewClient());
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl("http://www.google.com");
WebView webView = (WebView) findViewById(R.id.webView);
webView.loadUrl("http://google.com");
这是我的 webview 代码。它工作正常,但是当单击 link 时,它会打开默认浏览器并且不会在 webview 中加载 link。
帮帮我!
您需要实现自己的 WebViewClient 来告诉 webView 应处理 url 或 domanis。像这样:
private class BaseWebViewClient extends WebViewClient {
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
if (Uri.parse(request.getUrl().toString()).getHost().contains("yourdomain.com.ar")) {
callback.setWebView(view);
return false;
}
// Otherwise, the link is not for a page on my site, so launch another Activity that handles URLs
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(request.getUrl().toString()));
startActivity(intent);
return true;
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (Uri.parse(url).getHost().contains("yourdomain.com.ar")) {
callback.setWebView(webView);
return false;
}
// Otherwise, the link is not for a page on my site, so launch another Activity that handles URLs
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
return true;
}
}
然后将其设置为您的 webView 元素:
webView.setWebViewClient(new BaseWebViewClient());
webview.setWebViewClient(new WebViewClient())
在你的Activity
WebView webView = (WebView) findViewById(R.id.webView);
webView.setWebViewClient(new BaseWebViewClient());
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl("http://www.google.com");