티스토리 뷰

Android/Intent

Intent (1)

parkho79 2019. 2. 18. 09:58
300x250
300x250



Intent?

각 component(Activity, Service, Broadcast receiver) 에서 특정 component 를 실행해 달라고 요청할 때 사용되는 정보로 일종의 메시지 객체.

- 필요한 activity or service 를 실행 할 때 사용.

- 특정 이벤트 발생을 다른 앱들에게 알릴 때 사용.

- Web browser 를 연동하거나 전화걸기 를 연동할 할 때 사용.



Intent 내용

Component 에서 특정 component 를 실행할 때 ActivityManager 에게 특정 component 를 실행해 달라고 요청하는데 이때 intent 를 사용하여 하단의 정보를 제공한다.

- 활성화 될 component 정보(이름)

- 활성화 될 component 에 전달할 데이터



Intent 전달

◼ Activity 시작

- startActivity

- startActivityForResult

 

◼ Service 시작

- startService

- bindService

 

◼ Broadcast 시작

- sendBroadcast

- sendOrderedBroadcast

- sendStickyBroadcast



Intent 유형

◼ 명시적 인텐트 (Explicit Intent)

일반적으로 본인의 앱 안에서 구성 요소를 시작할 때 쓰임.
(시작하고자 하는 액티비티 또는 서비스의 클래스 이름을 알고 있기 때문)
예를 들어, 사용자 작업에 응답하여 새 액티비티를 시작하거나 백그라운드에서 파일을 다운로드하기 위해 서비스를 시작하는 것 등이 여기에 해당.

[Android/Intent] - Intent (2) - Explicit(명시적) intent

 

 

◼ 암시적 인텐트 (Implicit Intent)

특정 구성 요소의 이름을 대지 않지만, 그 대신 수행할 일반적일 작업을 선언하여 또 다른 앱의 구성 요소가 이를 처리할 수 있도록 한다.
예를 들어, 사용자에게 지도에 있는 한 위치를 표시해주고자 하는 경우, 암시적 인텐트를 사용하여 다른, 해당 기능을 갖춘 앱이 지정된 위치를 지도에 표시하도록 요청할 수 있다.

[Android/Intent] - Intent (3) - Implicit(암시적) intent

 

 

◼ 보류 인텐트 (Pending Intent)

외부 애플리케이션에 내 권한을 허가해서 던잘하는 intent. Intent를 하나 생성한 후 특정 시점에 다른 component 들이 pending intent 를 사용하여 다른 component 에게 작업을 요청한다.

예를 들어, 사용자에게 지도에 있는 한 위치를 표시해주고자 하는 경우, 암시적 인텐트를 사용하여 다른, 해당 기능을 갖춘 앱이 지정된 위치를 지도에 표시하도록 요청할 수 있다.

[Android/Intent] - Intent (4) - Pending(보류) intent



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 (3) - Implicit(암시적) intent  (0) 2019.02.19
Intent (2) - Explicit(명시적) intent  (2) 2019.02.19
댓글