728x90
private long backBtnTime = 0 ; //backBtn 눌렀을 때 시간을 0
Ctrl + o 해서
OnBackPressed 설정
package com.example.backbuttonexample;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
private long backBtnTime = 0; //backBtn 눌렀을 때 시간을 0
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public void onBackPressed() { //실제로 Back btn 눌렀을 때 이것의 의해서 활성화
long curTime = System.currentTimeMillis(); //현재 시간 밀리 세컨 초로 해줘라
long gapTime = curTime - backBtnTime;
if (0 <= gapTime && 2000 >= gapTime) { //2초 안에 한 번 더 누르게 되면 종료
super.onBackPressed();
}
else {
backBtnTime = curTime;
Toast.makeText(this,"한 번 더 누르면 종료됩니다.",Toast.LENGTH_SHORT).show();
}
}
}
맨 처음에 backBtnTime = 0이다.
첫 번째 클릭 때
else 문을 타고 backBtnTime에 curTime이 들어가게 된다.
두 번째 클릭 시
gapTime에 curTime-backBtnTime (그전의 현재 curTime) 을 계산해서 2초 이하면 종료가 된다.
728x90
'[Android Studio] (Java)' 카테고리의 다른 글
| [Android Studio] StartActivityForResult (0) | 2023.09.01 |
|---|---|
| [Android Studio] SNS 앱 만들기 #1 (인스타 하단 바) (0) | 2023.08.31 |
| [Android Studio] (Spinner 드롭 다운) (0) | 2023.08.29 |
| [Android Studio] (Service 백 그라운드 음악) (0) | 2023.08.28 |
| [Android Studio] (Dialog 다이얼로그 팝업창) (0) | 2023.08.28 |