onCreate: 필요한 구성요소 생성onStart: 화면에 나타나기 직전onResume: 화면에 표시되었을 때onPause: 화면이 일부 가려졌을 때, 다이얼로그가 표시되는 경우 등onStop: 화면에서 사라져서 보이지 않을 때onDestroy: 완전히 소멸된 경우
MainActivity에서 SecondActivity 시작
MainActivity의 onPause()
SecondActivity의 onCreate(), onStart(), onResume()
MainActivity의 onStop()
단말기의 뒤로가기 버튼 누름
SecondActivity의 onPause()
MainActivity의 onRestart(), onStart(), onResume()
SecondActivity의 onStop(), onDestroy()
화면을 회전시켜서 액티비티 보기방향을 바꾸면?
onPause() → onStop() → onDestroy()
→ onCreate() → onStart() → onResume()
startActivity()를 사용하여startActivity(Intent(this, SecondActivity::class.java))
위와 같이 명시적으로 액티비티 클래스를 지정하는 것을 명시적 인텐트라고 함
explicit Intent
val context = LocalContext.current
val intent = Intent(context, SecondActivity::class.java)
context.startActivity(intent)
명시적(explicit) 인텐트
시작할 구성 요소의 이름을 지정
암시적(implicit) 인텐트
이름을 지정하지 않고 일반적인 작업(전화 걸기, 지도 보기 등)을 지정

val context = LocalContext.current
val implicitIntent = Intent(Intent.ACTION_DIAL, "tel:114".toUri())
context.startActivity(implicitIntent)
<activity android:name=".SecondActivity" android:exported="false">
<intent-filter>
<action android:name="android.intent.action.DIAL" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="tel" />
</intent-filter>
</activity>