在WebView中加载HTML时,可以通过设置WebView的WebViewClient来处理默认打开的选项卡。
首先,需要创建一个自定义的WebViewClient类,并重写其中的shouldOverrideUrlLoading方法。该方法会在WebView加载新的URL时被调用,我们可以在该方法中处理默认打开的选项卡。
以下是一个示例代码:
WebView webView = findViewById(R.id.webView);
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
// 获取要加载的URL
String url = request.getUrl().toString();
// 判断URL是否为新的选项卡
if (url.startsWith("http://example.com")) {
// 在当前WebView中加载URL
view.loadUrl(url);
} else {
// 在系统浏览器中打开URL
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
}
return true;
}
});
// 加载HTML页面
webView.loadUrl("http://example.com");
在上述代码中,我们首先创建了一个WebView,并设置了一个自定义的WebViewClient。在自定义的WebViewClient中,我们重写了shouldOverrideUrlLoading方法。在该方法中,我们首先获取要加载的URL,然后判断URL是否为新的选项卡。如果是新的选项卡,我们就在当前WebView中加载URL;如果不是新的选项卡,我们就在系统浏览器中打开URL。
最后,我们调用webView.loadUrl方法加载HTML页面。
这样,当WebView加载HTML时,就会根据URL的不同来决定是在当前WebView中打开还是在系统浏览器中打开。
领取专属 10元无门槛券
手把手带您无忧上云