본문 바로가기

Android

[Android/안드로이드] onbackpressed deprecated

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