안드로이드 앱 재시작하기

오리·2024년 10월 27일

val restartIntent = Intent(applicationContext, SignInActivity::class.java).apply {
    addFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK)
}


val restartHandler = Handler(Looper.getMainLooper())

restartHandler.postDelayed({
    startActivity(restartIntent) 
    android.os.Process.killProcess(android.os.Process.myPid()) 
    exitProcess(0) 
}, 1000)
  1. 재시작할 액티비티인 SignInActivity로 가는 Intent 생성
  • 기존 액티비티 스택을 모두 비우고 새로운 태스크로 시작
    addFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK)
  1. 메인 스레드에서 핸들러 생성, 1초 후에 액티비티를 재시작하고 프로세스를 종료
  • SignInActivity 실행
    startActivity(restartIntent)
  • 현재 프로세스 종료
    android.os.Process.killProcess(android.os.Process.myPid())
  • 프로세스를 완전히 종료 (0은 정상 종료)
    exitProcess(0)
  • 1초(1000ms) 후에 실행

0개의 댓글