이것을 사용해 앱의 다른 컴포넌트 (액티비티 혹은 서비스)를 시작시키거나, 다른 앱들에게 메시지를 전달할 수 있습니다.
시작할 컴포넌트(예, 액티비티나 서비스)의 이름을 인텐트 객체에 설정하고 이를 startActivity() 또는 startService()에 넘긴다.
시작할 컴포넌트의 이름을 지정하지 않고, 수행할 작업(예, 전화걸기, 지도보기 등)과 데이터를 인텐트 객체에 설정하고 이를 startActivity()에 넘긴다.
Android System은 등록된 모든 앱을 검색하여 해당 인텐트와 일치하는 인텐트 필터를 찾고, 일치된 인텐트 필터를 포함한 앱 컴포넌트를 시작시킴
작업(Action): 수행되어야할 작업을 나타내는 문자열
문자열 상수 | 작업 내용 |
---|---|
ACTION_VIEW | 사용자에게 데이터를 표시 (예, 사진 보기, 지도 보기) |
ACTION_SEND | 사용자가 다른 앱을 통해 공유할 수 있는 데이터를 보내기 (예, 메시지 전송, 이메일 전송) |
ACTION_MAIN | 메인 진입점으로 시작 |
ACTION_CALL | 전화통화 수행 |
ACTION_DIAL | 전화번호 누르는 화면을 표시 |
데이터(Data): 작업에 필요한 데이터
예 (작업, 데이터)
작업 | 데이터 | 설명 |
---|---|---|
ACTION_VIEW | http://www.google.com | http://www.google.com 웹페이지를 표시 |
ACTION_CALL | tel:114 | 114번 전화번호로 전화연결 시작 |
ACTION_DIAL | tel:114 | 114번 전화번호로 전화걸기 화면을 표시 |
카테고리(Category): 작업에 대한 추가적인 정보 제공
카테코리 | 설명 |
---|---|
CATEGORY_BROWSABLE | 대상 액티비티가 웹브라우저에 의해 시작되어서 이미지와 같은 데이터를 표시할 수 있다. |
CATEGORY_LAUNCHER | 이 액티비티가 작업의 최초 액티비티이며, 이것이 시스템의 애플리케이션 시작 관리자에 목록으로 게재되어 있다. |
엑스트라(extras): 요청한 작업을 수행하기 위해 필요한 추가 정보를 담고 있는 키-값 쌍의 데이터
각 인텐트 필터가 인텐트의 작업, 데이터 및 카테고리를 근거로 어느 유형의 인텐트를 수신할 지를 결정합니다.
예제
ShareActivity 액티비티는 텍스트 데이터를 바탕으로 android.intent.action.SEND 인텐트를 처리합니다.
<activity android:name="ShareActivity">
<intent-filter>
<action android:name="android.intent.action.SEND"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="text/plain"/>
</intent-filter>
</activity>