onBackPressed 를 오버라이딩 해서 두번 연속누르면 앱이 종료 되게끔 했습니다.
그런데 앱을 종료하자마자 앱이 저절로 다시 실행됩니다....
왜이런거죠??
class BackPressCloseHandler(private val activity: Activity) {
private var backKeyPressedTime: Long = 0
private var toast: Toast? = null
fun onBackPressed() {
if (System.currentTimeMillis() > backKeyPressedTime + 2000) {
backKeyPressedTime = System.currentTimeMillis()
showGuide()
return
}
if (System.currentTimeMillis() <= backKeyPressedTime + 2000) {
toast!!.cancel()
val t = Intent(activity, MainActivity::class.java)
activity.startActivity(t)
activity.moveTaskToBack(true)
activity.finish()
android.os.Process.killProcess(android.os.Process.myPid())
}
}
fun showGuide() {
toast = Toast.makeText(activity, "한번 더 누르시면 종료됩니다.", Toast.LENGTH_SHORT)
toast!!.show()
}
}