티스토리 뷰

300x250
300x250



Implicit(암시적) intent?

활성화할 패키지명과 component 명 없이 component 의 동작 만으로 활성화.

Component 의 이름을 대지 않았지만, 수행할 동작(작업)을 선언하여 또 다른 앱의 component 가 이를 처리할 때 쓰임.

예를 들어, 카톡을 하다 URL link 를 click 할 경우 브라우저가 해당 URL 을 처리하는 것이 여기에 해당.

 



Implicit intent 수신

◼ Intent filter

Implicit intent 에 사용하며 외부에서 해당 component 를 활성화 할 조건을 명시함.

하단과 같이 implicit intent 대상을 manifest 에 선언하여 해당 component 가 <intent-filter> tag 안에 있는 내용을 처리할 수 있다고 android system 에 알린다.

  - 반드시 하나 이상의 action 을 가져야 한다.

  - CATEGORY_DEFAULT 는 반드시 포함해야 한다.

 



Implicit intent 전달

 

 

◼ Action

활성화 할 component 의 동작 설정

  - Intent 에서는 하나의 action 을 설정해야 하며 하나 이상의 action 을 설정할 수 없다.

  - 정의한 action 에 해당하는 것은 모든 패키지 중에 하나 이상 존재해야 실행이 가능하다.

 

◼ Category

Action 의 추가적인 정보 및 설명

  - 하단과 같이 수정 가능("android.intent.category.EDIT") category 를 정의하면 action + category 가 일치하는 component 가 매칭된다.

  - Category 를 정의하지 않고 action 만 정의한 경우 해당 action 의 모든 category 가 매칭된다.

    ("android.intent.category.Default")

 

◼ Data & type

Component 에 데이터를 전달

  - https://parkho79.tistory.com/36 (Explicit intent 전달 참조)

Action, category 와 마찬가지로 data 도 매칭 시 사용된다.



Code

1. FirstActivity



2. ThirdActivity



3. Manifest



위 예제는 하단 link 에서 확인할 수 있다.

https://github.com/parkho79/IntentSample

 



728x90

'Android > Intent' 카테고리의 다른 글

Intent 이미지 이동  (0) 2019.03.20
Intent extras size limit  (0) 2019.03.20
Intent (4) - Pending(보류) intent  (0) 2019.02.19
Intent (2) - Explicit(명시적) intent  (2) 2019.02.19
Intent (1)  (0) 2019.02.18
댓글