Membuka Tab Khusus untuk link di WebView

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

  1. UX pihak pertama jelas terpisah dari UX konten web pihak ketiga.
  2. Situs pihak ketiga mendapatkan manfaat dari cookie yang dibagikan dengan 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);                            
        }
    }
});