상세 컨텐츠

본문 제목

[Android Studio] net::ERR_UNKNOWN_URL_SCHEME 해결

카테고리 없음

by cyborgangel 2023. 2. 21. 11:52

본문

728x90
반응형
SMALL

카카오맵을 웹뷰로 불러올 때, 일부 페이지에서

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

라고 에러가 발생하였다.

원래 우리 코드는 (java, 자바)

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

이렇게 url만 불러왔는데 구글에 검색해보니

웹 - 앱 통신에서 string을 웹뷰가 uri로 로딩하면서 문제가 발생하는 것이었다.

따라서 intent에 대한 예외 처리가 필요

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; } }
728x90
반응형
LIST

댓글 영역