반응형
안녕하세요 돼지왕 왕돼지입니다.
오늘은 암시적 인텐트 ( Implicit Intent ) 에 대해 알아보겟습니다.
암시적 인텐트 ( Implicit Intent )가 뭐예요?
Intent 를 암시적 인텐트 ( Implicit Intent ) 와 명시적 인텐트 ( Explicit Intent ) 로 나누곤 합니다.
암시적 인텐트는 그 Intent 를 받는 대상이 명확하지 않은 경우를 말합니다. 이 때는 "이런 이런 녀석이 받았으면 좋겠어" 라고 대충 명시를 해줍니다. 예를 들어 http://www.google.com 이라는 사이트를 브라우저를 통해 열고 싶습니다. 하지만 어떤 브라우저들이 설치되어 있는지 어플리케이션에서 정확히 알기 어렵고, 브라우저의 경우 누구나 쉽게 사용해야 하는 것인데 정확한 Action Name 이나, PackageName, className 을 쉽게 알 수 없어 명시적 인텐트로는 사용하기가 어렵죠. 이럴 때는 "www.google.com 을 열어줘!" 라는 형태로 인텐트를 날리면, system 에서 알아서 매핑을 해주는 형태입니다.
반면에 명시적 인텐트는 그 Intent를 받는 대상이 명확한 경우를 말합니다.
예제를 보여줘봐.
Intent intent;
//web
intent = new Intent( Intent.ACTION_VIEW, Uri.parse("http://www.google.com") );
startActivity(intent);
//dial
intent = new Intent( Intent.ACTION_DIAL, Uri.parse("tel:010-1234-5678") );
startActivity(intent);
//picture
intent = new Intent( Intent.ACTION_VIEW );
Uri uri = Uri.fromFile(new File("/sdcard/test.jpg"));
intent.setDataAndType(uri, "image/jpeg");
startActivity(intent);
//other
intent = new Intent( Intent.ACTION_MAIN );
// 인텐트 필터에 MAIN 이라고 지정되어 있는 액티비티만..
intent.setComponent(new ComponentName("exam.Input", "exam.Input.Input"));
intent.setClassName("exam.Input", "exam.Input.Input");
startActivity(intent);
로그인 없이 추천 가능합니다. 손가락 꾸욱~
반응형
'프로그래밍 놀이터 > 안드로이드, Java' 카테고리의 다른 글
[Android/안드로이드] CustomView 생성시 override 해야 할 function들 (17) | 2012.02.19 |
---|---|
[Android/안드로이드] Activity 간의 통신. (2) | 2012.02.19 |
[Android/안드로이드] 액티비티 생명주기. ( Activity Life cycle ) (0) | 2012.02.19 |
[Android/안드로이드] Activity의 상태 저장 ( SharedPreference와 Bundle 을 이용하는 빙법) (0) | 2012.02.19 |
[Android/안드로이드] Activity 의 상태 저장. Object 형태로. ( Serializable 과 Parcelable 을 이용한 방법 ) (0) | 2012.02.19 |
댓글