WebView เหมาะสำหรับการผสานรวมเนื้อหาเว็บของคุณกับแอปของคุณอย่างราบรื่น เมื่อเนื้อหาจากบุคคลที่หนึ่งมีลิงก์ไปยังเว็บไซต์ที่คุณไม่ได้เป็นเจ้าของ คุณอาจเปิดเนื้อหาดังกล่าวในแท็บที่กำหนดเองแทน WebView ได้ ซึ่งมีประโยชน์ 2 ประการ ดังนี้
- UX ของบุคคลที่หนึ่งจะแยกออกจาก UX ของเนื้อหาเว็บของบุคคลที่สามอย่างชัดเจน
- เว็บไซต์ของบุคคลที่สามจะได้ประโยชน์จากการแชร์คุกกี้กับเบราว์เซอร์เริ่มต้น
หากต้องการใช้งาน ให้กำหนดค่าเครื่องจัดการ onLoadResource
ที่กำหนดเองใน WebViewClient
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); } } });