안드로이드 앱 만들기
뒤로가기 두번 눌러 앱 종료
khon98
2020. 8. 29. 13:09
MainActivity.java
package com.example.backbutton;
import android.os.Bundle;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
/* back 버튼을 눌렀을때 타임을 0으로 설정
long은 int보다 자료 데이터가 더 긴 형태 */
private long backBtnTime = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
/* super.onBackPressed를 타게 되면 실제로 back 버튼을 눌렀을때 super.onBackPressed에 의해서
뒤로가기 활성화가 됨 */
@Override
public void onBackPressed() {
long cutTime = System.currentTimeMillis();
long gapTime = cutTime - backBtnTime; // 현재 시간을 가져와서 back 버튼을 누른 시간을 빼줌
// 0이 gatTime보다 작거나 같고 gapTime이 2000(mil)보다 작거나 같을때
if (0 <= gapTime && 2000 >= gapTime) {
super.onBackPressed();
}
// 만약 저 경우의 수가 아니라면 backbBtnTime은 현재시간으로 됨
else {
backBtnTime = cutTime;
Toast.makeText(this, "한번 더 누르면 종료 됩니다.", Toast.LENGTH_SHORT).show();
}
}
}