API 33 버전 이후부터 onBackPressed가 deprecated 되었다.
onBackPressed 대신 onBackPressedDispatcher로 callback을 사용하도록 바뀌었다.
MainActivity.kt
private var backKeyPressedTime: Long = 0
private val callback = object :OnBackPressedCallback(true) {
override fun handleOnBackPressed() {
if (System.currentTimeMillis() > backKeyPressedTime + 2000) {
backKeyPressedTime = System.currentTimeMillis()
Toast.makeText(this, "뒤로 가기를 한번 더 누르면 앱이 종료됩니다.", Toast.LENGTH_SHORT).show()
} else {
finishAffinity()
}
}
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
this.onBackPressedDispatcher.addCallback(this, callback)
}
'Android' 카테고리의 다른 글
[Android/Java] EncryptedFile에 대해 알아보자! (0) | 2022.03.20 |
---|---|
파일입출력 예 (0) | 2022.03.15 |
EncryptedFile.Builder (0) | 2022.03.15 |
[Android] DataBindingImpl 뜯어보기 (1) (0) | 2022.03.04 |
[Android/Java] 지문(생체) 인식 구현 (0) | 2022.02.23 |