Android

안드로이드 뒤로가기 버튼 이벤트 종료 안되게하기

meong_j 2022. 1. 16. 19:43
728x90
반응형

안드로이드 앱 실행 중 뒤로가기 버튼을 누르면 종료되는 경우가 있다. 이 때 두 번 클릭 할 경우에만 앱이 종료되게 변경해보자.

 

package com.meongj.backbutton_ex

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.os.Handler
import android.util.Log
import android.widget.Toast
import androidx.core.os.HandlerCompat.postDelayed

class MainActivity : AppCompatActivity() {

    private var isDouble = false

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
    }

    // 뒤로가기 버튼 종료안되게
    override fun onBackPressed() {
        Log.d("MainActivity", "backbutton")

        if(isDouble == true){
            finish() // 종료
        }

        isDouble = true
        Toast.makeText(this,"종료하려면 더블클릭", Toast.LENGTH_LONG).show()

        // 2초후 false로 초기화
        Handler().postDelayed({
            isDouble = false
        },2000)
    }
}
```

 

 

  • 한 번 뒤로 가기 버튼 누를 경우 “종료하려면 더블클릭” toast 생성
  • 2초 후 false로 isDouble 값 초기화
  • 더블클릭하면 isDouble = true로 변경후 finish() 앱종료
반응형