[안드로이드] 인텐트 확정(Resolution)

반응형



이어지는 글      
인텐트       
인텐트 객체 
인텐트 확정  ◀ 현재 위치
인텐트 필터
인텐트 매칭




< 인텐트는 두 가지의 종류가 있습니다 >

읽기전에 손가락 한번 클릭~ >_<

고마워요 ~ Chu ~ ♥

 



인텐트 확정

인텐트는 두가지의 종류가 있습니다.
명시적 인텐트와 암시적 인텐트가 그것입니다.


명시적(Explicit) 인텐트
대상 컴포넌트를 이름으로 지정하는 인텐트 입니다. 이것은 컴포넌트 이름 필드에 저장된 값 입니다. 컴포넌트 이름은 일반적으로 다른 어플리케이션 개발자에게 알려질 수 없기 때문에, 명시적 인텐트는 전형적으로 어플리케이션의 내부 메시지 처리를 위해 사용됩니다.

즉, 액티비티가 자신의 서비스를 실행하거나 같은 어플리케이션 내의 다른 액티비티를 실행하는 경우에 해당됩니다.


암시적(Implicit) 인텐트
대상의 이름을 지정하지 않는 인텐트 입니다. 컴포넌트 이름 필드는 비어있는 상태로 유지됩니다. 암시적 인텐트는 다른 어플리케이션의 컴포넌트를 활성화 할 때 사용됩니다.

안드로이드에서는 지정된 대상 클래스의 인스턴스에 명시적 인텐트를 전달하죠. 인텐트 객체에서 대상이 될 컴포넌트를 결정할 때는 컴포넌트 이름이 가장 중요한 요소가 됩니다.

만약 지정된 대상이 없는 경우, 시스템은 해당 인텐트를 처리할 컴포넌트, 즉 하나의 액티비티 , 서비스, 브로드캐스트에 응답할 브로드캐스트 리시버 들의 집합을 찾아 냅니다.

이것은 인텐트를 받을 컴포넌트들과 결합된 구조인 인텐트 필터와, 인텐트 객체의 내용들을 비교하면서 처리되는 방식으로 진행됩니다. 필터는 컴포넌트의 기능에 따라 처리할 수 있는 인텐트 범위를 정하게 됩니다. 즉, 해당 컴포넌트에게 유형과 연관된 암시적 인텐트를 수신할 수 있게 하는 것입니다.

컴포넌트가 어떤 인텐트 필터도 가지지 않았다면 , 그것은 명시적 인텐트만 받을 수 있다는 뜻이겠지요. 필터가 있는 컴포넌트는 명시적 인텐트와 암시적 인텐트 모두를 받을 수 있습니다.

객체가 인텐트 필터를 검사할 때는, 인텐트 객체의 세 가지가 검사됩니다.
1. action
2. 데이터 : URI 와 데이터타입
3. 카테고리

엑스트라와 플래그는 인텐트 수신에 관해서 아무런 역할도 하지 않지요 ^^




끝~~










관련글


반응형

댓글

Designed by JB FACTORY