■ 뒤로가기 두번 종료 (BackPressCloseHandler)
2017. 5. 22. 18:30ㆍBASIC/android
backPressCloseHandler = new BackPressCloseHandler(this); // back 이벤트1. BackPressCloseHandler 클래스 생성
import android.app.Activity;
import android.widget.Toast;
public class BackPressCloseHandler {
private long backKeyPressedTime = 0;
private Toast toast;
private Activity activity;
public BackPressCloseHandler(Activity context) {
this.activity = context;
}
public void onBackPressed() {
if (System.currentTimeMillis() > backKeyPressedTime + 2000) {
backKeyPressedTime = System.currentTimeMillis();
showGuide();
return;
}
if (System.currentTimeMillis() <= backKeyPressedTime + 2000) {
activity.finish();
toast.cancel();
}
}
public void showGuide() {
toast = Toast.makeText(activity,
"\'뒤로\'버튼을 한번 더 누르시면 종료됩니다.", Toast.LENGTH_SHORT);
toast.show();
}
}
2. 적용하려는 클래스에 넣기 ( 빨간 바탕으로된 소스 추가 )
public class Login extends AppCompatActivity {
private BackPressCloseHandler backPressCloseHandler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login); backPressCloseHandler = new BackPressCloseHandler(this); // back 이벤트}
@Override
public void onBackPressed() {
//super.onBackPressed();
backPressCloseHandler.onBackPressed();
}
}
'BASIC > android' 카테고리의 다른 글
■ Zxing을 이용한 QRcode 스캐너 예제 [스캔, 생성] (0) | 2017.11.15 |
---|---|
■ 안드로이드 버튼 클릭 이벤트 다양한 방법 ( Button.setOnClickListener() ) (0) | 2017.05.23 |
■ 안드로이드 margin & padding (안여백, 바깥여백) (0) | 2017.05.22 |
■ 안드로이드 타이틀바 액션바 없애기 (0) | 2017.05.19 |
■ 안드로이드 로딩화면 (Splash Activity) 만들기 (0) | 2017.05.16 |