프로그래밍/Android

[android] net::ERR_UNKNOWN_URL_SCHEME

소행성왕자 2022. 2. 4. 13:38

카카오톡 링크시 아래와 같은 오류가 발생

intent://startNavi?routeOption=100&etype=place&eid=17494023&en=%EC%97%AD%EA%B3%A1%EC%97%AD 1%ED%98%B8%EC%84%A0&ep=37.485314358615625,126.81205932067193&referrer=mmapweb#Intent;scheme=daummaps;package=net.daum.android.map;end의 웹페이지를 로드할 수 없습니다.

net::ERR_UNKNOWN_URL_SCHEME

원본소스

 private class WebViewClientClass extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }
    }

수정소스

private class WebViewClientClass extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {


            if (url.startsWith("intent:")) {
                try {
                    Intent intent = Intent.parseUri(url, Intent.URI_INTENT_SCHEME);
                    Intent existPackage = getPackageManager().getLaunchIntentForPackage(intent.getPackage());
                    if (existPackage != null) {
                        startActivity(intent);
                    } else {
                        Intent marketIntent = new Intent(Intent.ACTION_VIEW);
                        marketIntent.setData(Uri.parse("market://details?id=" + intent.getPackage()));
                        startActivity(marketIntent);
                    }
                    return true;
                } catch (Exception e) {
                    e.printStackTrace();
                }
            } else {
                view.loadUrl(url);
            }
            return true;


        }

    }