Home » Blog » Android 웹뷰 새창 열기시 url 가져오기

Android 웹뷰 새창 열기시 url 가져오기

public boolean onCreateWindow(WebView view, boolean isDialog, boolean isUserGesture, Message resultMsg) {
                WebView.HitTestResult result = view.getHitTestResult();
                String url = ""; // result.getExtra();

                Message href = view.getHandler().obtainMessage();
                view.requestFocusNodeHref(href);
                url = href.getData().getString("url");

                Log.e(TAG, "외부 브라우저 여부? " + url);
                Log.d(TAG, Constants.linkout);

                Constants.linkout = Constants.linkout.replace(" ", "");
                String[] linkout_list = Constants.linkout.split(",");
                Boolean isLinkOut = false;

                if (url != null) {
                    for (int i = 0; i < linkout_list.length; i++) {
                        // Log.d(TAG,internal_url_list[i]);
                        if (url.contains(linkout_list[i])) {
                            isLinkOut = true;
                        }
                    }
                }

                //
                // 자식창을 앱 내에서 열건지, 외부 브라우저로 보낼건지
                //
                if (!isLinkOut) {
                    // 앱 내 브라우저로 열기
                    Log.d(TAG, "앱 내 브라우저로 열기 ");
                    openChildWindow(url, resultMsg);

                } else {
                    // 외부 브라우저로 열기
                    Log.d(TAG, "외부 브라우저로 열자 " + url);
                    Context context = view.getContext();
                    Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
                    context.startActivity(browserIntent);
                }

                return true;
            }

답글 남기기