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