वेबव्यू में लिंक के लिए कस्टम टैब खोलना

अपने वेब कॉन्टेंट को अपने ऐप्लिकेशन के साथ आसानी से इंटिग्रेट करने के लिए, वेबव्यू बेहतरीन तरीके से काम करते हैं. जब पहले पक्ष के कॉन्टेंट में उन वेबसाइटों के लिंक शामिल होते हैं जिन पर आपका मालिकाना हक नहीं है, तो उन्हें वेबव्यू के बजाय कस्टम टैब में खोलना सही हो सकता है. इसके दो फ़ायदे हैं:

  1. पहले पक्ष का उपयोगकर्ता अनुभव, 3P (तीसरे पक्ष का) वेब कॉन्टेंट के उपयोगकर्ता अनुभव से साफ़ तौर पर अलग होता है.
  2. डिफ़ॉल्ट ब्राउज़र के साथ शेयर की जाने वाली कुकी का फ़ायदा 3P वेब साइटों को मिलता है.

इसे लागू करने के लिए, अपने 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);                            
        }
    }
});