Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 인앱결제
- MediaSession
- android13
- list
- mvvm
- Android
- Android 13
- MediaPlayer
- mysql
- Animation
- google play
- paging
- Reactive
- node
- PagingLib
- 테스트 자동화
- GCP
- node.js
- Koin
- junit
- 동영상
- SwiftUI Tutorial
- MotionLayout
- Kotlin
- liveData
- rx
- databinding
- Observable
- RxKotlin
- SWIFTUI
Archives
- Today
- Total
봄날은 갔다. 이제 그 정신으로 공부하자
앱 재실행 (App Restart) 본문
앱을 개발하다보면 설정값 변경 등으로 초기화가 필요해 불가피하게 앱을 재실행해야하는 경우가 발생합니다.
이번 글에서는 앱을 재실행하는 방법에 대해 초간단하게 설명합니다.
아래 코드는 context를 가지고 있는 Activity를 기준으로 작성되었으며 PackageManager를 통해 앱 이름(PackageName)으로 Intent를 생성한 후에 해당 Intent로 부터 componentName을 가져오고 이걸로 Intent class에서 지원하는 makeRestartActivityTask()함수를 호출해 별도의 restartIntent를 만들고 startActivity()함수를 호출하면 앱이 재실행됩니다.
val intent = packageManager.getLaunchIntentForPackage(packageName)
intent?.let {
val componentName = it.component
val restartIntent = Intent.makeRestartActivityTask(componentName)
startActivity(mainIntent)
}
위 코드를 설명을 위해 풀어서 작성한 코드이므로 코드 정리가 필요합니다.
생성 후 한번만 참조되는 변수들을 간략화 해주면 아래와 같이 간략하게 코딩이 가능합니다.
packageManager.getLaunchIntentForPackage(packageName)?.let {
startActivity(Intent.makeRestartActivityTask(it.component))
}
'android Tip' 카테고리의 다른 글
Android Q의 새로운 저장소 정책 (0) | 2021.02.05 |
---|---|
간단히 만들어보는 시간차를 통한 중복 클릭 방지 class (0) | 2021.02.03 |
PopupWindow로 Spinner 대체하기 (0) | 2021.01.18 |
Dialog 커스텀하기 (0) | 2021.01.15 |
Callback Java에서 Kotlin으로… (0) | 2021.01.13 |
Comments