마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 Intent 질문

0 추천
Intent intent = new Intent();
        intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
        startActivityForResult(intent, TAKE_CAMERA);

     Intent intent = new Intent();
        intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
        startActivity(intent);

이런 카메라 기능, 비디오기능 등등 을 불러오는게 암시적 인텐트라고 하는거 맞나요?

그리고 저위 두개의 차이점을 알고싶습니다.
익명사용자 님이 2016년 11월 3일 질문

1개의 답변

0 추천
명시적 인텐트는 정확히 대상을 명시하는것을 말합니다.

예를들어 Activity를 호출한다고 하였을때

new Intent(context, "호출할 액티비티 클래스");

이런게 명시적으로 호출할 클래스를 지정하는것을 명시적 인텐트라 하고

 

암시적 인텐트는 위의 질문에 올리신 방식처럼 호출할 클래스를 지정하지 않고

임의의 액션값으로 호출하는것을 말합니다.

 

즉, 위 두가지 모두 암시적 인텐트지요.

 

위 두가지의 차이점은 호출할 Activity와의 상호작용을 하느냐 안하느냐 차이입니다.

첫번째 호출 방식은 호출 대상의 액티비티가 종료되면 그 대상 액티비티에서의 데이터를 호출 하였던 Activity의 onActivityResult 함수를 실행시켜줍니다. 이 함수를 오버라이드 하면 Intent형태로 데이터를 공유 할 수가 있지요.

두번째 호출방식으 ㄴ그런거 없고 그냥 호출한 액티비티가 종료되면 그걸로 끝입니다.
Development Guy (70,570 포인트) 님이 2016년 11월 3일 답변
...