Membuka Tab Khusus untuk link di WebView

WebView sangat cocok untuk mengintegrasikan konten web Anda sendiri ke aplikasi dengan lancar. Jika konten pihak pertama menyertakan link ke situs yang tidak Anda miliki, sebaiknya buka di Tab Khusus, bukan WebView. Hal ini memiliki dua manfaat:

  1. UX pihak pertama jelas terpisah dari UX konten web pihak ketiga.
  2. Situs pihak ketiga mendapatkan manfaat karena cookie yang dibagikan ke browser default.

Untuk menerapkannya, konfigurasikan pengendali onLoadResource kustom di WebViewClient Anda:

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));                            
        }
    }
});