
148 Chapter 3
인텐트 필터
이 카테고리를 포함하지 않는 인텐트 필터는 암묵적 인텐트를 수신할 수 없으므로
제외합니다.
그리고 안드로이드는 인텐트에 포함된 액션과 마임 유형을 인텐트 필터와 대조합니다.
예를 들어 다음처럼
Intent
.
ACTION
_
SEND
액션을 지정한 인텐트를 받았다면
인텐트에 마임 유형이 지정되어 있지 않으면 인텐트에 포함된 데이터로 유형을 유추합니다.
안드로이드가 인텐트와 컴포넌트의 인텐트 필터 비교를 완료하면 얼마나 많은 컴포넌트가
조건을 만족하는지 확인할 수 있습니다. 한 개의 컴포넌트를 찾았으면 바로 컴포넌트(우리
예제에서는 액티비티)를 실행하면서 인텐트를 전달합니다. 일치하는 컴포넌트가 여럿이면
사용자에게 선택을 요청합니다.
인텐트 필터에 카테고리가 지정되어 있으면
카테고리도 확인합니다. 하지만 인텐트에
카테고리를 지정하는 상황은 거의 없으므로
여기서는 인텐트에 카테고리를 추가하는 방법은
설명하지 않습니다.
안드로이드가 인텐트 필터를 사용하는 방법
암묵적 인텐트를 사용할 때 안드로이드는 인텐트와 모든 앱의
AndroidManifest
.
xml
파일에
정의된 인텐트 필터의 정보를 대조합니다.
안드로이드는 우선
android
.
intent
.
category
.
DEFAULT
카테고리를 포함하는
인텐트 필터를 확인합니다.
Intent ...