webview에서 모바일 웹페이지를 보여주고 있는데요.

마켓접속하는 url이 로딩되면 shouldOverrideUrlLoading 함수에서

Intent it = new Intent(Intent.ACTION_VIEW, uri); 를 통해서 해결했는데..

결제할 때는 "ahnlabv3mobile:..." 이런 식의 url이 로딩되는데

또는 특정사이트만의 프로토콜도 있던데.. "coupang://" 이런 식의 커스텀 프로토콜 같은 것 말이죠.

이 때 webview에서 지원하지 않는 프로토콜이라며 에러를 뱉어냅니다~

가끔 특정 사이트에서 http가 아닌 해당 사이트만의 url을 사용하는 경우에도 마찬가지인데요.

안드로이드 기본 브라우저를 사용하면 저런 프로토콜이 처리가 되더군요.

Logcat 뒤져보니까 일단 onReceivedError 가 발생하면서 errorCode 가 -10 이 떨어지긴 하는데

커스텀프로토콜을 해석해서 다시 loading을 하더군요.

onReceivedError가 발생한 후에 뭔가 Url Handler를 통해서 제대로된 url을 찾아내는 것 같은데...


그리고, 이런 특정 url을 Intent를 통해 날리더라도 관련된 Activity를 찾을 수 없다는 에러가 나네요.

카톡의 선물하기쪽을 보면 같은 webview인데도 특이한 url을 다 소화하더군요.

뭔가 방법이 있을 법 한데 혹시 아시는 분 있을까요?


이 문제에 대해 명확한 구글 검색어는 아마도

"android webview custom protocol handling" 정도 일 것 같습니다.

이 검색어로 구글링은 하는 중인데 도통 해결됐다는 글이 안나오네요~