[Android 학습 노트] Intent 상세 설명
Android 프로그램의 세 가지 핵심 구성 요소 인 Activity, services, 방송 수신 기 는 intent 를 통 해 메 시 지 를 전달 합 니 다.intent 메 시 지 는 실행 할 때 서로 다른 구성 요 소 를 연결 하 는 것 이 편리 합 니 다. 이 구성 요 소 는 같은 프로그램 일 수도 있 고 다 를 수도 있 습 니 다.하나의 intent 대상 은 수 동적 인 데이터 구조 로 작업 에 대한 추상 적 인 설명 이나 보통 방송의 인 스 턴 스, 발생 하 는 일 에 대한 설명, 알림 을 저장 합 니 다.인 텐트 를 서로 다른 구성 요소 로 전달 하 는 메커니즘 은 서로 다르다.
2. Intent 포함 내용
1.Action 실행 해 야 할 동작의 이름 이나 라디오 인 텐트 에서 동작 이 발생 하고 보고 되 었 습 니 다.intent 클래스 는 동작의 상수 를 정의 합 니 다. 다음 과 같 습 니 다.
Constant
Target component
Action
ACTION_CALL
activity
Initiate a phone call.
ACTION_EDIT
activity
Display data for the user to edit.
ACTION_MAIN
activity
Start up as the initial activity of a task, with no data input and no returned output.
ACTION_SYNC
activity
Synchronize data on a server with data on the mobile device.
ACTION_BATTERY_LOW
broadcast receiver
A warning that the battery is low.
ACTION_HEADSET_PLUG
broadcast receiver
A headset has been plugged into the device, or unplugged from it.
ACTION_SCREEN_ON
broadcast receiver
The screen has been turned on.
ACTION_TIMEZONE_CHANGED
broadcast receiver
The setting for the time zone has changed.
intent 의 동작 은 setAction () 함수 설정 을 통 해 getAction () 함수 로 읽 습 니 다.
2.Data 데이터 URI 와 MIME 형식의 데이터 입 니 다.서로 다른 동작 과 서로 다른 데이터 배합.예 를 들 어 동작 영역 이 ACTION 이 라면EDIT, 데이터 필드 는 표시, 편집 을 위해 문 서 를 포함 하 는 URI 가 필요 합 니 다.액 션 이 ACTION 이 라면CALL, 데이터 필드 는 전화 번 호 를 가 진 tel: URI 가 필요 합 니 다.같은, 동작 이 ACTION 이 라면VIEW 데이터 필드 는 http: URI 입 니 다. Activity 를 받 으 려 면 URI 가 참조 하 는 모든 데 이 터 를 호출 하고 다운로드 하 며 표시 해 야 합 니 다.
3.Extra 추가 키 값 은 정보 에 대한 것 입 니 다. 이 키 값 은 intent 를 처리 하 는 구성 요소 에 분 배 됩 니 다.몇몇 열의 put. get.. 방법 으로 처리 합 니 다.
4. Flag 은 안 드 로 이 드 시스템 이 목표 activity 를 어떻게 시작 하 는 지 알려 주거 나 목표 activity 를 시작 한 후에 어떤 후속 작업 을 해 야 하 는 지 알려 주 는 데 사 용 됩 니 다. 모든 flag 는 Intent 클래스 에서 정의 되 며, 일부 flag 는 다음 과 같 습 니 다: FLAGACTIVITY_NEW_TASK - 알림 시스템 은 대상 activity 를 새로운 task 의 초기 activity 로 합 니 다.FLAG_ACTIVITY_NO_HISTORY - 알림 시스템 은 대상 activity 를 역사 창고 에 넣 지 마 십시오.FLAG_FROM_BACKGROUND - 알림 시스템 이 Intent 는 사용자 의 직접 선택 이 아 닌 배경 작업 에서 유래 합 니 다.
3. Intent filter
IntentFilter 클래스 는 Intent 필 터 를 표시 합 니 다. 대부분의 경우, 모든 component 는 하나 이상 의 IntentFilter 를 정의 합 니 다. 처리 가능 한 Intent 를 표시 하 는 데 사 용 됩 니 다. 일반적으로 component 의 IntentFilter 는 AndroidManifest. xml 파일 에서 정의 해 야 합 니 다. 정의 하 는 방법: < activity >, < receiver >,< service > 요소 에 하나 이상 의 < intent - filter > 하위 요 소 를 추가 합 니 다. 예 를 들 어:
<!-- Activity -->
<activity android:name=".FirstActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
메모: 안 드 로 이 드 시스템 이 암시 적 인 Intent 를 처리 할 때 Intent 와 IntentFilter 의 action, data, category 속성 을 비교 합 니 다. 상기 3 개의 속성 이 모두 일치 하면 IntentFilter 가 속 한 component 는 대상 구성 요소 의 후보 가 될 수 있 습 니 다 (조건 에 맞 는 component 가 여러 개 존재 할 때).
더 많은 내용 은 여 기 를 참고 하여 링크 를 열 수 있 습 니 다.
기타
참고 문헌: 공식 문서
http://www.cnblogs.com/liushengjie/archive/2012/08/30/2663066.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.