안드로이드 개발 팁 #3 - 특정 화면 이동시 다른 화면 모두 닫기

안드로이드 앱의 한 화면을 담당하는 클래스는 액티비티(activity)이구요. 이를 종료하기 위해 호출하는 메소드는 finish()입니다. 그런데 사용자가 로그아웃을 하여 모든 화면들을 종료하고 로그인 화면만 띄워야 한다면 어떻게 해야 할까요? 액티비티들을 모두 추적하여 finish()를 호출하는 방법이 있겠지만, 그렇게 하기는 쉽지 않습니다. 이럴 때 사용할 수 있는 또 다른 메소드가 있는데요. 그것은 바로 finishAffinity()입니다. 로그인 액티비티를 실행하고, 이 메소드를 실행하면 됩니다. 그러면 다른 화면들은 모두 사라지고 로그인 화면만 남게 되는 것이지요.

아래 코드는 액티비티 클래스 안에서 로그아웃 수행 후 로그인 화면을 띄우고 나머지 화면 모두 종료하는 예입니다.

// 로그아웃 관련 실행 마치고 나서...

// 로그인 화면 실행
val intent = Intent(this, LogInActivity::class.java)
startActivity(intent)

// 다른 액티비티 모두 종료
finishAffinity()

지난 안드로이드 개발 팁

Sort:  
 2 years ago 

[광고] STEEM 개발자 커뮤니티에 참여 하시면, 다양한 혜택을 받을 수 있습니다.

Upvoted! Thank you for supporting witness @jswit.
default.jpg

안드로이드 모든 액티비티 종료 함수가 생겼었군요. 저는 이제 안드로이드 개발은 안하지만 기억했다가 나중에 한번 써야봐야겠어요. 좋은 정보 감사합니다.

Coin Marketplace

STEEM 0.18
TRX 0.11
JST 0.027
BTC 65423.69
ETH 3429.98
USDT 1.00
SBD 2.31