-
11.[Android] 뒤로가기 버튼 2번 클릭으로 앱 종료하기Android 2019. 8. 18. 18:16반응형
원래는 Back버튼(뒤로 가기 버튼)을 클릭하면 이전 화면으로 돌아가거나, 앱이 종료가 됩니다.
최근에는 뒤로 가기 버튼 2번 클릭으로 앱을 종료하는 방법을 많이 사용하는 편입니다.
private val time = mutableListOf<Long>() class BackActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.clichlistener_study1) } override fun onBackPressed() { time.add(System.currentTimeMillis()) Toast.makeText(this, "뒤로가기를 한번 더 누르시면 종료됩니다.", Toast.LENGTH_LONG).show() if (time.size >= 2) { if (time[1] - time[0] <= 2000) { super.onBackPressed() } time.clear() } }onBackPressed()는 뒤로 가기 버튼을 담당하는 메서드입니다.
메서드 안에 super.onBackPressed()를 주석 처리하면 뒤로 가기 버튼이 막히는 것을 볼 수 있을 것입니다.
위에 코드는 뒤로 가기 버튼을 한번 누르면 Toast로 한번 더 누르면 종료된다는 메시지를 보여주고 2초 안에 한번 더 버튼을 누르면 종료되게 만들었습니다. System.currentTimeMillis()는 현재시간을 밀리 초로 나타낸 것이니 참고하도록 합니다.

private var backPressTime = 0L class BackActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.clichlistener_study1) } override fun onBackPressed() { val time = System.currentTimeMillis() if (time - backPressTime > 2000L) { Toast.makeText(this, "뒤로가기를 한번더 누르시면 앱이 종료 됩니다.", Toast.LENGTH_LONG).show() backPressTime = time } else { super.onBackPressed() } } }이해하기 쉽게 두 가지 코드로 같은 기능을 만들어 보았습니다.
반응형'Android' 카테고리의 다른 글
13.[Android] RecyclerView 예제 (0) 2019.09.06 12.[Android] RecyclerView 개념 (0) 2019.09.06 10.[Andorid]ConstraintLayout (Chains) (0) 2019.08.14 9.[Andorid]ConstraintLayout (Circular positioning) (0) 2019.08.14 8.[Andorid]ConstraintLayout (Margins) (0) 2019.08.13