728x90
뒤로 가기 버튼을 두 번 누르면 앱이 종료되게 구현해볼 것이다.
https://www.youtube.com/watch?v=3jiQGrjOgMM&list=PLC51MBz7PMyyyR2l4gGBMFMMUfYmBkZxm&index=24
● MainActivity.java
package com.example.backbuttonexample;
import android.os.Bundle;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
private long backBtnTime = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public void onBackPressed() {
long curTime = System.currentTimeMillis();
long gapTime = curTime - backBtnTime;
if (0 <= gapTime && 2000 >= gapTime) {
super.onBackPressed();
} else {
backBtnTime = curTime;
Toast.makeText(this,"한번 더 누르면 종료됩니다.",Toast.LENGTH_SHORT).show();
}
}
}
- 전역변수로 backbtnTime을 선언해준다.
- onBackPressed 함수를 통해 뒤로 가기 버튼을 누르면 함수 안의 코드가 실행되게 구현해준다.
- curTime은 현재 시간을, gapTime은 뒤로 가기 버튼을 누른 시간과 현재 시간의 차를 나타낸다.
- 만약 gapTime이 0 밀리초 이상 2000 밀리초 이하라면 종료시키고 아니라면 토스트 메세지를 띄워준다.
※ 실행화면
'study & bootcamp > 안드로이드 앱 스터디' 카테고리의 다른 글
[Android App 개발 스터디] #24 구글맵 (0) | 2021.09.25 |
---|---|
[Android App 개발 스터디] #24 구글맵 (0) | 2021.09.04 |
[Android App 개발 스터디] #22 음악재생 MP3 (0) | 2021.08.25 |
[Android App 개발 스터디] #20 Spinner 드롭다운 (0) | 2021.08.25 |
[Android App 개발 스터디] # 21 로딩화면 만들기 feat. github (0) | 2021.08.25 |