在Android WebView中停止打开除主链接以外的弹出窗口或第三方链接,可以通过以下步骤实现:
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// 在此处处理链接跳转事件
if (url.equals(mainUrl)) {
// 主链接,允许加载
return false;
} else {
// 非主链接,拦截加载
return true;
}
}
});
webView.setWebChromeClient(new WebChromeClient() {
@Override
public boolean onCreateWindow(WebView view, boolean isDialog, boolean isUserGesture, Message resultMsg) {
// 在此处处理弹出窗口事件
WebView newWebView = new WebView(view.getContext());
WebView.WebViewTransport transport = (WebView.WebViewTransport) resultMsg.obj;
transport.setWebView(newWebView);
resultMsg.sendToTarget();
return true;
}
});
综上所述,通过设置WebViewClient的shouldOverrideUrlLoading方法拦截非主链接的加载,以及设置WebChromeClient的onCreateWindow方法处理弹出窗口事件,可以停止打开Android WebView中除主链接以外的弹出窗口或第三方链接。
腾讯云相关产品推荐:
领取专属 10元无门槛券
手把手带您无忧上云