在 WebView 中開啟連結的自訂分頁

WebView 可讓您順利將網頁內容完美整合到應用程式中。如果您的第一方內容包含連至非您擁有的網站連結,使用「自訂分頁」(而非 WebView) 開啟是合理的做法。這麼做有兩個優點:

  1. 第一方使用者體驗明顯不同於第三方網頁內容。
  2. 第三方網站可透過預設瀏覽器共用 Cookie 而受益,

如要實作這項功能,請在 WebViewClient 中設定自訂 onLoadResource 處理常式:

WebView webView = (WebView)findViewById(R.id.webview);
webView.setWebViewClient(new WebViewClient() {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        return true;
    }

    @Override
    public void onLoadResource(WebView view, String url) {
        if (url.startsWith("http://www.my-own-domain.com")) {
            //Handle Internal Link...
        } else {
            //Open Link in a Custom Tab
            Uri uri = Uri.parse(url);
            new CustomTabsIntent.Builder()
                  .build()
                  .launchUrl(context, uri));                            
        }
    }
});