BROWSABLE category 에 대해서...
만약 어려분의 데스크탑 PC에서 다음과 같은 코드가 들어있는 웹 페이지를 오픈했다고 가정합시다.
<html>
<h2>anywhere on the web.</h2>
<A HREF="http://www.digipine.com">Digipine</A><br>
<A HREF="mailto:me@digipine.com">Mail Me, SS!</A><br>
<A HREF="foo://my.test.com">Foo? What's that?</A><br>
</html>
anywhere on the web.
Digipine
Mail Me, SS!
Foo? What's that?
첫번째 링크를 클릭하면 여러분의 브라우져는 새로운 페이지로 이동하게될 것입니다. 바로 우리 홈페이지이지요.
두번째 링크를 클릭하면 설정된 기본 메일 프로그램이 실행되고 지정된 주소로 메일을 보낼 수 있겠지요.
마지막으로 세번째 링크를 클릭하면 어떻게 될까요? 당현히 에러 메세지가 출력되겠지오. 브라우져가 어디로 이동해야 할지 알지못하는 링크이기 때문이지요.
하지만 안드로이드에서는 세번째와 같은 특별한 URL을 지정된 액티비티를 샐행하는 것과 같은 동작으로 브라우져에서 사용할 수 있도록 설정할 수 있습니다.
매번 사용자가 브라우져에서 링크를 클릭하면 브라우져는 플랫폼으로 다음과 같은 Intent를 보냅니다.
action = android.intent.action.VIEW
category = android.intent.category.BROWSABLE
data = href tag의 텍스트
<h2>anywhere on the web.</h2>
<A HREF="tel:123456">Call Me. SS!</A><br>
<A HREF="mailto:me@digipine.com">Mail Me, SS!</A><br>
<A HREF="foo://my.test.com">Foo? What's that?</A><br>
</html>
anywhere on the web.
Call Me. SS!
Mail Me, SS!
Foo? What's that?
action = android.intent.action.VIEW
category = android.intent.category.BROWSABLE
data = "tel:123456"
이런 Intent가 전달되고 다이얼러 어플이 실행될 것입니다. 물론 123456이라는 전화 번호가 표시되어있겠지요.
action = android.intent.action.VIEW
category = android.intent.category.BROWSABLE
data = "foo://my.test.com"