[안드로이드] 인텐트 필터

반응형



안드로이드 매니페스트 파일에 이은, 인텐트 필터 에 관한 내용입니다.
[안드로이드] - [안드로이드] 안드로이드 매니페스트 파일

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

고마워요 ~ Chu ~ ♥



안드로이드의 인텐트 객체는 대상이 되는 컴포넌트를 명시적으로 지정할 수 있습니다.
이렇게 되면, 매니페스트 파일에 기초하여 그 컴포넌트를 찾아내어 그것을 활성화 하죠.
하지만, 그 대상이 명시적으로 지정되지 않으면 인텐트를 처리할 수 있는 최선의 컴포넌트를 찾아야 하는데요.. 이것은 해당 인텐트 객체와 그 인텐트의 대상이 될 수 있는 컴포넌트들의 인텐트 필터를 비교함으로써 이루어 집니다.

컴포넌트의 인텐트 필터는 해당 컴포넌트가 처리할 수 있는 인텐트의 종류를 알려주는 역할입니다.
인텐트 필터 또한 매니페스트 파일 내에 선언됩니다.

< 매니페스트 파일의 한 부분 >

이 인텐트 필터는 " android.intent.action.MAIN " 액션과
" android.intent.category.LAUNCHER " 카테고리로 구성된 필터입니다.

이것은 모바일 기기에서 사용자가 실행할 수 있는 어플리케이션을 스크린에 보여주는
어플리케이션 런처( Launcher ) 에 그 액티비티가 표시되게 한다는 것을 뜻합니다.
곧 그 액티비티가 어플리케이션의 시작점이고 사용자가 런처에서 어플리케이션을 실행했을때 처음 보게될 액티비티라는 것을 의미합니다.



이 인텐트 필터는 특정 타입의 데이터에 대해 액티비티가 수행할 수 있는 액션을 선언합니다.




컴포넌트는 인텐트 필터를 얼마든지 가질 수가 있습니다.
각각의 필터는 각기 다른 능력 ( capability ) 을 선언할 수 있지요.

만일, 컴포넌트가 필터를 가지지 않는다면 , 인텐트 대상의 컴포넌트를 명시적으로 지정한 인텐트에 의해서만 활성화 될 수 있습니다.

코드 내에서 생성되어 등록된 브로드캐스트 리시버에 인텐트 필터는 IntentFilter 객체에 의해 직접 인스턴스화 됩니다. 나머지 모든 필터들은 매니페스트 내에서 설정됩니다.


관련글



반응형

댓글

Designed by JB FACTORY