WebView에서 링크의 맞춤 탭 열기 (original) (raw)

WebView는 자체 웹 콘텐츠를 앱에 원활하게 통합하는 데 유용합니다. 퍼스트 파티 콘텐츠에 소유하지 않은 웹사이트의 링크가 포함된 경우 WebView 대신 맞춤 탭에서 여는 것이 좋습니다. 여기에는 두 가지 이점이 있습니다.

  1. 퍼스트 파티 UX는 서드 파티 웹 콘텐츠 UX와 명확하게 구분됩니다.
  2. 서드 파티 웹사이트는 쿠키를 기본 브라우저와 공유하면 도움이 됩니다.

이렇게 구현하려면 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);                            
        }
    }
});

달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.

최종 업데이트: 2020-02-04(UTC)