[안드로이드] Intent

변준영·2022년 11월 3일
0

1. Intent

1) Intent란

  • 메시징 객체
  • 다른 앱 구성요소로 부터 작업을 요청하는 데 사용
    -> 액티비티 시작 : Intent를 startActivty()로 전달
    -> 서비스 시작 : Intent를 startService()로 전달
    -> 브로드캐스트 전달 : sendBroadcast() 또는 sendOrderedBroadcast()에 전달

2) Intent 유형

(1) 명시적 Intent

  • 일반적으로 앱 안에서 구성 요소를 시작할 때 사용
    -> 사용자 작업에 응답하여 새로운 액티비티를 시작
    -> 백그라운드에서 파일을 다운로드하기 위해 서비스를 시작

<FromActivity>

Intent intent = new Intent(FromActivity.this, ToActivity.class);
intent.putExtra("data", "전달할 데이터 입니다.");
startActivity(intent);

<ToActivity>

Intent getIntent = getIntent();
String data = getIntent.getStringExtra("data"); // data : 전달할 데이터 입니다.

(2) 암시적 Intent

  • 특정 구성 요소의 이름을 대지 않지만, 그 대신 수행할 일반적인 작업을 선언하여 다른 앱의 구성 요소가 이를 처리할 수 있도록 해줌
    -> 사용자에게 지도에 있는 한 위치를 표시하고자 하는 경우, 암시적 인텐트를 사용하여 해당 기능을 갖춘 다른 앱이 지정된 위치를 지도에 표시하도록 요청

<CallActivity>

Intent intent = new Intent(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:01012345678"));
startActivity(intent);

참고
[Android Developer]
https://developer.android.com/guide/components/intents-filters
[블로그]
개발자의 개발 정보와 리뷰 : https://m.blog.naver.com/qbxlvnf11/221088664442

0개의 댓글