홈으로 홈으로 | 무료회원가입 | 아이디/비번찾기 | 즐겨찾기
추천음악방송메인홈1대1상담음악방송청취
뽕짝아가씨(무료음악채널)
okTrot(무료음악채널)
전통가요(무료음악채널)

온라이브스토어(앱다운로드)
온라이브(방송등록및청취)

환상의뽕짝파티 무료음악
명작트로트메들리 무료음악
트로트메들리관광 무료음악
POP Player
신나는 고스톱
컴퓨터 오목
작은 음악다방
운.영.자.1대1.상담
FAQ\지원.프로그램
Q&A\고.객.지.원

자동러시 웹플레이어신청

보안∵서버∵쿠키
윈도우∵프레임
이미지∵배경
시간∵달력∵계산
상태바∵타이틀바
음악∵영상
폼∵전송∵테이블
키보드∵마우스
효과∵링크∵메뉴
Script∵php
기타
PHP 강좌
윈도우관련팁
웹관련팁
홈페이지제작팁
기본강좌
레지스트리
윈도우서버
리눅스서버
Android
안드로이드 인텐트 - intent
2년 전
인텐트

인텐트(Intent)는 컴포넌트에 액션, 데이터 등을 전달하는 메시지 객체이다. 인텐트 객체의 구성 요소는 다음과 같다.
정리 Intent 객체의 구성 요소
▶ Action(액션): 수행할 액션 이름(ACTION_DIAL)
▶ Data(데이터): 수행할 데이터의 URI(tel:)
▶ Category(카테고리): 수행할 액션에 대한 추가적인 정보
▶ Type(타입): 수행할 인텐트 데이터의 명시적인 타입(MIME 타입)(video/mpeg)
▶ Component name(컴포넌트 이름): 대상 컴포넌트의 완전한 클래스 이름
▶ Extras(추가 정보): 인텐트를 다루는 컴포넌트에 추가적으로 전달할 한 쌍의 키/값
이 구성 요소를 활용하면 다른 애플리케이션의 액티비티를 실행하거나 데이터를 전달해줄 수 있다. 이 중에서 가장 중요한 요소는 Action이다. 액션은 액티비티와 브로드캐스트 액션으로 구분할 수 있으며 다음은 액티비티 액션 중에서 가장 자주 사용하는 것을 정리한 것이다.

API Intent의 주요 액티비티 액션

ACTION_MAIN        시작 액티비티를 지정하기 위한 액션
ACTION_VIEW        데이터의 URL로 가장 적절한 액티비티를 호출하는 액션
content://contacts/people/1
ACTION_DEFAULT        ACTION_VIEW와 동일
ACTION_EDIT        수정하기 위해 호출하는 액션
ACTION_DELETE        삭제하기 위해 호출하는 액션
ACTION_DIAL        전화 다이얼 액티비티를 호출하는 액션
content://contacts/people/1
tel:0101235678
ACTION_CALL        전화 액티비티를 호출하는 액션
tel:0101235678
ACTION_WEB_SEARCH        웹 검색 액티비티를 호출하는 액션
ACTION_SEARCH        검색 액티비티를 호출하는 액션
ACTION_SENDTO        이메일 등의 메시지 전송을 지정하는 액션
ACTION_ANSWER        전화 착신을 위한 액션
※ 참고로, content://contacts/people/1는 주소록에서 식별자가 1인 사람에 대한 정보를 가리키며, tel:0101235678는 전화번호 0101235678을 가리킨다.


코드 인텐트 전달
Intent intent = new Intent(this, IntentCallee.class);  
intent.putExtra("name", "gildong");  
intent.putExtra("age", 30);  
startActivity(intent);
코드 인텐트 수신
Intent intent = getIntent();  
String name = intent.getStringExtra("name");  
int age = intent.getIntExtra("age", 20);

인텐트 필터

인텐트 필터(IntentFilter)는 특정 인텐트를 받을지 말지를 정의하는 역할을 수행하며, 이를 통해 컴포넌트의 특징이 정해진다. 예를 들어, 인텐트 필터의 에 android.intent.action.MAIN을 선언하고 에 android.intent.category.HOME을 선언하면, 해당 컴포넌트는 홈 애플리케이션이 되어 디바이스가 시작될 때 자동으로 시작될 수 있는 애플리케이션이 된다. 인텐트 필터는 AndroidManifest.xml에 다음처럼 다양하게 정의할 수 있다(다음의 예제는 안드로이드 예제로 제공되는 노트패드 애플리케이션에 포함된 것이다). 인텐트 필터를 구성하는 요소는 인텐트에 작성할 수 있는 요소들과 동일하다.
코 AndroidManifest.xml

표준 액티비티 액션

액티비티 액션은 액티비티를 어떻게 실행할 지를 지정하는 속성이다. 이 액션들은 액티비티를 실행할 때 사용하는 startActivity(Intent) 메소드에 지정하는 인텐트 객체에 설정할 수 있다.
ACTION_MAIN 시작 액티비티를 지정하는 액션
ACTION_VIEW 데이터를 사용자에게 보여주는 액션
ACTION_ATTACH_DATA 데이터가 첨부되었다는 것을 알려주는 액션
ACTION_EDIT 데이터 수정을 요청하는 액션
ACTION_PICK 데이터에서 원하는 것을 선택하는 액션
ACTION_CHOOSER 액티비티 선택 화면을 보여주는 액션
ACTION_GET_CONTENT 사용자가 선택한 데이터를 반환하는 액션
ACTION_DIAL 전화 다이얼 액티비티를 호출하는 액션
ACTION_CALL 전화를 거는 액션
ACTION_SEND 데이터를 전송하는 액션
ACTION_SENDTO 데이터를 지정된 곳에 전송하는 액션
ACTION_ANSWER 수신중인 전화를 다루는 액션
ACTION_INSERT 주어진 컨테이너로 아이템을 삽입하는 액션
ACTION_DELETE 주어진 컨테이너의 데이터를 삭제하는 액션
ACTION_RUN 데이터를 실행하는 액션
ACTION_SYNC 데이터 동기화를 수행하는 액션
ACTION_PICK_ACTIVITY 액티비티를 골라주는 액션
ACTION_SEARCH 검색을 수행하는 액션
ACTION_WEB_SEARCH 웹 검색을 수행하는 액션
ACTION_FACTORY_TEST 공장 테스트를 나타내는 액션
표준 브로드캐스트 액션

다음은 브로드캐스트 리시버가 받을 수 있는 액션들이다. 이 액션들은 registerReceiver(BroadcastReceiver, IntentFilter) 메소드의 IntentFilter에 정의하거나 AndroidManifest.xml의 태그 안에 정의할 수 있다.
ACTION_TIME_TICK 현재 시간이 변경되었음을 알려주는 액션
ACTION_TIME_CHANGED 시간이 설정되었음을 알려주는 액션
ACTION_TIMEZONE_CHANGED 시간대가 변경되었음을 알려주는 액션
ACTION_BOOT_COMPLETED 기기 부팅이 완료되었음을 알려주는 액션
ACTION_PACKAGE_ADDED 패키지가 추가되었음을 알려주는 액션
ACTION_PACKAGE_CHANGED 패키지가 변경되었음을 알려주는 액션
ACTION_PACKAGE_REMOVED 패키지가 제거되었음을 알려주는 액션
ACTION_PACKAGE_RESTARTED 패키지가 다시 시작되었음을 알려주는 액션
ACTION_PACKAGE_DATA_CLEARED 사용자가 패키지 데이터를 정리했음을 알려주는 액션
ACTION_UID_REMOVED 시스템에서 사용자 아이디가 제거되었음을 알려주는 액션
ACTION_BATTERY_CHANGED 배터리 정보가 변경되었음을 알려주는 액션
ACTION_POWER_CONNECTED 외부 전원이 연결되었음을 알려주는 액션
ACTION_POWER_DISCONNECTED 외부 전원 연결이 해지되었음을 알려주는 액션
ACTION_SHUTDOWN 기기가 종료될 것이라는 것을 알려주는 액션
표준 카테고리

카테고리는 인텐트 대상에 대한 분류 정보를 지정하는 속성이다. addCategory(String) 메소드로 추가할 수 있으며 카테고리를 지정하여 원하는 대상을 명확히 지정할 수 있다.
CATEGORY_DEFAULT 가장 기본이 되는 액티비티
CATEGORY_BROWSABLE 웹 브라우징을 할 수 있는 액티비티
CATEGORY_TAB TabActivity 내에서 사용되는 탭을 지정
CATEGORY_ALTERNATIVE 사용자가 현재 보고 있는 데이터의 대체 액션
CATEGORY_SELECTED_ALTERNATIVE 사용자가 현재 선택한 데이터의 대체 액션
CATEGORY_LAUNCHER 애플리케이션에서 가장 먼저 실행되는 액티비티
CATEGORY_INFO 패키지에 대한 정보를 제공하는 액티비티를 지정
CATEGORY_HOME 가장 처음 실행되는 액티비티를 지정
CATEGORY_PREFERENCE 프리퍼런스 액티비티
CATEGORY_TEST 테스트로 사용할 경우 지정
CATEGORY_CAR_DOCK 기기가 차량용 거치대에 장착되었을 때 호출되는 액티비티를 지정
CATEGORY_DESK_DOCK 기기가 책상용 거치대에 장착되었을 때 호출되는 액티비티를 지정
CATEGORY_CAR_MODE 차량에서 사용할 수 있는 액티비티를 지정
표준 추가 데이터

다음은 추가 데이터로 사용할 수 있는 필드이다. putExtra(String, Bundle) 메소드와 함께 사용된다.
EXTRA_ALARM_COUNT AlarmManager가 사용하는 알람 개수
EXTRA_BCC 이메일의 숨은 참조 리스트
EXTRA_CC 이메일의 참조 리스트
EXTRA_DATA_REMOVED 데이터 전부 제거인지 아닌지를 알려주는 불린 값(ACTION_PACKAGE_REMOVED에서 사용)
EXTRA_DOCK_STATE 거치대 상태를 요청할 때 사용하는 데이터(ACTION_DOCK_EVENT에서 사용)
EXTRA_DOCK_STATE_HE_DESK 거치대가 디지털인지를 알려주는 숫자 값
EXTRA_DOCK_STATE_LE_DESK 거치대가 아날로그인지를 알려주는 숫자 값
EXTRA_DOCK_STATE_CAR 거치대가 차량용인지를 알려주는 숫자 값
EXTRA_DOCK_STATE_DESK 거치대가 책상용인지를 알려주는 숫자 값
EXTRA_DOCK_STATE_UNDOCKED 기기가 거치대에 없다는 것을 알려주는 숫자 값
EXTRA_DONT_KILL_APP 애플리케이션을 재시작하는 기본 액션을 재정의하기 위해 ACTION_PACKAGE_REMOVED나 ACTION_PACKAGE_CHANGED에서 사용하는 여분의 불린 값
EXTRA_EMAIL 전송할 이메일 주소
EXTRA_INITIAL_INTENTS ACTION_CHOOSER에 의해 보여질 인텐트들
EXTRA_INTENT ACTION_PICK_ACTIVITY에 사용할 인텐트 정보
EXTRA_KEY_EVENT 인텐트에 의해 호출될 이벤트 정보를 나타내는 KeyEvent 객체
EXTRA_PHONE_NUMBER 전화 액션 관련해 저장할 전화번호
EXTRA_REMOTE_INTENT_TOKEN 원격 인텐트에 사용할 추가 정보
EXTRA_REPLACING 패키지가 교체를 알리기 위해 ACTION_PACKAGE_REMOVED에 사용하는 불린 값
EXTRA_SHORTCUT_ICON 단축 아이콘에 사용할 Bitmap 이름
EXTRA_SHORTCUT_ICON_RESOURCE 단축 아이콘에 사용할 리소스 이름
EXTRA_SHORTCUT_INTENT 단축 아이콘을 나타내는 이름
EXTRA_STREAM ACTION_SEND와 함께 사용될 수 있는 스트림
EXTRA_SHORTCUT_NAME 단축 아이콘 이름을 정의하는 이름
EXTRA_SUBJECT 메시지 제목
EXTRA_TEMPLATE ACTION_INSERT와 함께 사용되는 초기 데이터
EXTRA_TEXT ACTION_SEND와 함께 사용되는 문자열
EXTRA_TITLE ACTION_CHOOSER에 의해 사용되는 다이얼로그 제목
EXTRA_UID ACTION_UID_REMOVED와 함께 사용되는 패키지의 아이디
플래그

인텐트에 사용할 수 있는 플래그(Flags)이다. 인텐트에 플래그를 설정해서 특정 정보를 전달할 수 있으며 대부분의 플래그는 액티비티의 동작 방식을 변경하는 용도로 쓰인다. setFlags(int)와 addFlags(int) 메소드가 함께 사용된다.
FLAG_GRANT_READ_URI_PERMISSION URI 읽기 권한 플래그
FLAG_GRANT_WRITE_URI_PERMISSION URI 쓰기 권한 플래그
FLAG_DEBUG_LOG_RESOLUTION 디버깅 정보를 로그로 출력해주는 플래그
FLAG_FROM_BACKGROUND 백그라운드 동작임을 알려주는 플래그
FLAG_ACTIVITY_BROUGHT_TO_FRONT 태스크에 있는 액티비티가 다시 실행되었을 때 시스템이 설정하는 플래그
FLAG_ACTIVITY_CLEAR_TASK 태스크를 초기화하는 플래그
FLAG_ACTIVITY_CLEAR_TOP 실행할 액티비티가 태스크에 이미 있다면 태스크에 있는 동일한 액티비티부터 최상단의 액티비티까지 모두 제거하고 새로운 액티비티를 실행하는 플래그
FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET 태스크가 재시작할 때, 액티비티를 종료할 수 있도록 액티비티에 표시를 하는 플래그
FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS "최근 실행 액티비티 목록"에 보이지 않도록 하는 플래그
FLAG_ACTIVITY_FORWARD_RESULT 액티비티 처리 결과를 전달할 수 있는 플래그
FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY "최근 실행 액티비티 목록"에서 실행될 경우 시스템에 의해 설정되는 플래그
FLAG_ACTIVITY_MULTIPLE_TASK 액티비티를 항상 새로운 태스크에서 실행하는 플래그
FLAG_ACTIVITY_NEW_TASK 실행한 액티비티와 관련된 태스크가 존재하면 동일한 태스크 내에서 실행하고 그렇지 않으면 새로운 태스크에서 액티비티를 실행하는 플래그
FLAG_ACTIVITY_NO_ANIMATION 액티비티 전환시 애니메이션을 사용하지 않게 하는 플래그
FLAG_ACTIVITY_NO_HISTORY 실행된 액티비티를 태스크 스택에서 관리하지 않도록 해주는 플래그
FLAG_ACTIVITY_RESET_TASK_IF_NEEDED 사용자가 홈 스크린이나 "최근 실행 액티비티 목록"에서 태스크를 시작할 경우 시스템에 의해 설정되는 플래그
FLAG_ACTIVITY_REORDER_TO_FRONT 실행된 액티비티가 태스크에 이미 존재하는 액티비티라면 새로 실행하지 않고 태스크에 있는 액티비티를 스택 최상단으로 옮기는 플래그
FLAG_ACTIVITY_SINGLE_TOP 실행할 액티비티가 태스크 스택 최상단에 이미 있다면 액티비티를 다시 실행하지 않는 플래그
FLAG_ACTIVITY_CLEAR_TASK 태스크를 초기화하는 플래그
FLAG_RECEIVER_REGISTERED_ONLY 등록된 리시버만 브로드캐스트를 받을 수 있게 해주는 플래그


출저 : 안드로이드 사이드 https://kairo96.gitbooks.io/android/content/ch2.8.html
추천추천 : 116 추천 목록
번호 제목
1,316
 Windows7 업데이트 기록 삭제방법
1,315
 포토샵 psd 파일 연결 레지스트리(registry) 편집
1,314
 윈도 10 최신 업데이트 후 인터넷 속도의 저하가 발생할 때 조치 사항
1,313
 Autotuning level 해제 (윈도우비스타 이상 윈도우)인터넷 속도 빠르게 하는 방법
1,312
 윈도우에서 특정프로세스를 일괄 종료하는법
1,311
 MediaPlayer 클래스 사용법
1,310
 안드로이드에서 audio player 실행하기
1,309
 [Android] MediaPlayer 음악재생기 만들기
1,308
 Eclipse와 Android NDK 연동하기
1,307
 Android Sliding Drawer Functionality 안드로이드 슬라이딩 드로우 예제 sample
1,306
 Android Speech To Text
1,305
 Android WebPageLoader with progress-bar
1,304
 Android Text To Speech(TTS)
1,303
 Android Playing Audio from a web url
1,302
 Button height different from background height in Android image design
1,301
 Android Getting Started with Material Design
1,300
 Using toast inside timertask perfect
1,299
 네트워크 상태 [Android]
1,298
 Webview source [Android]
1,297
 공유 Intent [Android]
1,296
 intent uri 모음 [Android]
1,295
 http requestWebViewClient [Android]
1,294
 캐시 삭제
1,293
 캐시 지우기 [Android]
1,292
 바로풀어(수학 문제 질의응답 SNS) 에 사용된 오픈소스 라이브러리 [Android]
1,291
 Webviw [Android]
1,290
 오픈소스 라이브러리 모음 [Android]
1,289
 Android webview 개발시 알아둬야 할 것들 [Android]
1,288
 webview 동영상 재생 [Android]
1,287
 [Android] Webview 404 에러 처리
1,286
 [Android] webview ssl 문제
1,285
 [Android] Webview url 숨기기
1,284
 [Android] AlarmManager 일정시간 이벤트 실행
1,283
 안드로이드 오픈소스 끝판
1,282
 android studio DefaultHttpClient, HttpClient import 에러
목록
인기절정뽕짝파티
트로트재생목록
인기트로트모음
지루박디스코메들리
밤무대애창곡
전자올겐경음악
종합성인가요방
못잊을옛날노래
카바레 음악
트롯디스코팡팡
관광 메들리
트롯카페
가요감상실
추억의옛노래
스페셜가요광장
BillBoard Free
추천가요모음
경음악.전자올겐
스페셜음악여행
WOLRD POPs
K-POP\BillBoard
JP\CN
POP TOP BEST
K.R.노래방

추천가요\인기
F뮤직 인기\발라드
F뮤직 애창\트로트
트로트성인가요
인기가요
프리미엄 POP
경음악\기타
프리미엄 최신가요
프리미엄 성인가요
가요1번지(종합)
뮤직하우스
동요\연변\반주\기타
가요축제\트롯1번지
댄스\메들리\리믹스
카페\명상\경음악\기타
뮤직트로트 부산광역시부산진구 가야동 ㅣ 개인정보취급방침
Copyright (C) musictrot All rights reserved.