[Android]안드로이드 인텐트(Intent)

한 강·2022년 1월 31일
0

안드로이드

목록 보기
3/6

Intent

명시적 인텐트
암시적 인텐트

명시적 인텐트

  • 안드로이드에서 가장 많이 볼 수 있는 방법
  • ex) A 액티비티 -> B 액티비티 로 화면 전환시 사용
  • B 액티비티 생성시 AndroidManifest.xml에 액티비티 선언 필요
var intent = Intent(A_Activity.this, B_Activity::class)
startActivity(intent)
  • 데이터 전달 방법
var intent = Intent(A_ACtivity.this, B_Activity::class)
intent.putExtra("key", "value")
startActivity(intent)
  • 데이터 받는 방법
var intent: Intent = Intent()
var value: String = intent.getStringExtra("key")
  • 데이터 전달 후 전달받은 액티비티 종료시 리턴값을 받는 방법
var intent = Intent(A_Activity.this, B_Activity::class)
startActivityForResult(intent,100)


 override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        when(requestCode){
            100 -> {
                if (data != null) {
                    if (data.extras != null) {
                        var str = data.getStringExtra("key")
                        println(str)
                     }
                }

            }
        }

        super.onActivityResult(requestCode, resultCode, data)
    }

암시적 인텐트

  • Action에 따라 적합한 애플리케이션을 호출시킨다
  • ex) 전화앱, 갤러리, 카메라 등
  • 전화 걸기
var intent = Intent(Intent.ACTION_CALL, 
Uri.parse("tel:010-0000-0000"))
startActivity(intent)
  • 갤러리 열기
var intent = Intent()
        intent.action = Intent.ACTION_PICK
        intent.type = "image/*"
        startActivityForResult(intent, 1)
  • 카메라 열기
 var intent = Intent()
        intent.action = MediaStore.ACTION_IMAGE_CAPTURE
        intent.type = "image/*"
        startActivityForResult(intent, 1)
profile
안드로이드 개발자 & Flutter 개발자

0개의 댓글