λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

빈 ꡬ멍 μ±„μš°κΈ°

[Android] startActivity()λ₯Ό μ‹€ν–‰ν•˜λ©΄ μ•ˆλ“œλ‘œμ΄λ“œ μ‹œμŠ€ν…œμ—μ„œλŠ” μ–΄λ–»κ²Œ Activityλ₯Ό μ‹€ν–‰ν•˜λŠ”κ°€

 

https://developer.android.com/guide/components/intents-filters?hl=ko

 

1

manifest νŒŒμΌμ— <activity>μš”μ†Œλ₯Ό <application> μš”μ†Œμ˜ ν•˜μœ„ μš”μ†Œλ‘œ μΆ”κ°€ν•΄μ•Όν•œλ‹€.

여기에 μ„ μ–Έλ˜μ§€ μ•Šμ€ activity μ™Έ λ‹€λ₯Έ κ΅¬μ„±μš”μ†Œλ“€μ€ μ‹œμŠ€ν…œμ—μ„œ μ‹€ν–‰ν•  μˆ˜κ°€ μ—†λ‹€. 

 

2

startActivity()의 λ§€κ°œλ³€μˆ˜λ‘œ λ“€μ–΄κ°€λŠ” IntentλŠ” μ‹œμž‘ν•  μ•‘ν‹°λΉ„ν‹°λ₯Ό μ„€λͺ…ν•˜κ³  λͺ¨λ“  ν•„μˆ˜ 데이터λ₯Ό λ‹΄λŠ”λ‹€. 

 

3 - 1

Intent 객체가 νŠΉμ • μ•‘ν‹°λΉ„ν‹°λ₯Ό λͺ…μ‹œμ μœΌλ‘œ 지정할 경우. μ•±μ˜ νŒ¨ν‚€μ§€ 이름 λ˜λŠ” ꡬ성 μš”μ†Œ 클래슀 이름 정보λ₯Ό λ„£μŒ : λͺ…μ‹œμ  μΈν…νŠΈ. 일반적으둜 μ•± μ•ˆμ—μ„œ κ΅¬μ„±μš”μ†Œλ₯Ό μ‹€ν–‰ν•  λ•Œ(λΆ€λ₯Ό λ•Œ... κ°€ λ§žμ„ μˆ˜λ„) λͺ…μ‹œμ  μΈν…νŠΈλ₯Ό μ‚¬μš©ν•œλ‹€.

 

> Intent 객체가 λͺ…μ‹œμ μœΌλ‘œ ꡬ성 μš”μ†Œλ₯Ό μ§€μ •ν•˜λ©΄ μ‹œμŠ€ν…œμ΄ ν•΄λ‹Ή ꡬ성 μš”μ†Œλ₯Ό μ¦‰μ‹œ μ‹œμž‘ν•œλ‹€.

 

3 - 2

Intent 객체가 μˆ˜ν–‰ν•  일반적인 μž‘μ—…μ„ μ„ μ–Έν•  경우 : μ•”μ‹œμ  μΈν…νŠΈ. νŠΉμ • κ΅¬μ„±μš”μ†Œμ˜ 이름을 λŒ€μ§€ μ•ŠλŠ”λ‹€.

 

> Intent 객체가 μ•”μ‹œμ μœΌλ‘œ ꡬ성 μš”μ†Œλ₯Ό μ§€μ •ν•˜λ©° μΈν…νŠΈμ˜ λ‚΄μš©μ„ 기기에 μžˆλŠ” λ‹€λ₯Έ μ—¬λŸ¬ μ•±μ˜ λ§€λ‹ˆνŽ˜μŠ€νŠΈ νŒŒμΌμ— μ„ μ–Έλœ μΈν…νŠΈ 필터와 λΉ„κ΅ν•œλ‹€. μΌμΉ˜ν•˜λ©΄ μΈν…νŠΈ ν•„ν„°κ°€ 있으면 μ‹œμŠ€ν…œμ—μ„œ ν•΄λ‹Ή ꡬ성 μš”μ†Œλ₯Ό μ‹œμž‘ν•œλ‹€. ν˜Έν™˜λ˜λŠ” μΈν…νŠΈ ν•„ν„°κ°€ μ—¬λŸ¬ 개인 경우, μ‹œμŠ€ν…œμ—μ„œ λŒ€ν™”μƒμžλ₯Ό ν‘œμ‹œν•΄ μ‚¬μš©μžκ°€ μ–΄λŠ 앱을 μ‚¬μš©ν• μ§€ 직접 선택할 수 있게 ν•œλ‹€.

 

> μΈν…νŠΈ ν•„ν„°λž€, μ•±μ˜ manifest νŒŒμΌμ— λ“€μ–΄ μžˆλŠ” ν‘œν˜„. ν•΄λ‹Ή ꡬ성 μš”μ†Œκ°€ μˆ˜μ‹ ν•˜κ³ μž ν•˜λŠ” μΈν…νŠΈμ˜ μœ ν˜•μ΄λ‹€. 

    - 앑티비티에 μΈν…νŠΈ ν•„ν„°λ₯Ό μ„ μ–Έν•˜λŠ” 경우 : μ—¬λŸ¬ 앱이 νŠΉμ • μ’…λ₯˜μ˜ μΈν…νŠΈλ₯Ό 가지고 μ•‘ν‹°λΉ„ν‹°λ₯Ό μ‹€ν–‰ κ°€λŠ₯함.

    - 앑티비티에 μΈν…νŠΈ ν•„ν„°λ₯Ό μ„ μ–Έν•˜μ§€ μ•ŠλŠ” 경우 : λͺ…μ‹œμ  μΈν…νŠΈλ‘œλ§Œ μ‹œμž‘