생활
일정시간 지난 후 자동로그아웃 기능을 구현중문의좀합니다(백그라운드)
안녕하세요 일정시간 지난 후 로그아웃 기능을 구현중입니다.
포어그라운드 에서는 10초뒤 로그아웃을 하는데..... 백그라운드로 가면 동작을 안하는것 같습니다.
뭘 더 추가해서 작업해야할지 감이 안잡히네요.
백그라운드로 이동시 onpause가 호출되므로 onpause메소드에 handler가 취소되어 백그라운드에서 로그아웃이
동작을 안하게 되는데 onpause를 사용 안하고 다른방법으로 백그라운드에서도 동작 할 수 있는 방법이 없을까요?
많은 의견 부탁드립니다 ㅠㅠ
-------------------------------------------------------------------------------------------------------------------------
Handler handler = new Handler();
Runnable autologout = new Runnable() {
@Override
public void run() {
// 10초뒤에 다음화면(MainActivity)으로 넘어가기 Handler 사용
Intent intent = new Intent();
intent.setAction("android.intent.action.MAIN");
intent.addCategory("android.intent.category.HOME");
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.setClass(OrgMainListView.this, LogOnActivity.class);
startActivity(intent);
}
};
@Override
protected void onResume() {
super.onResume();
// 다시 화면에 들어어왔을 때 예약 걸어주기
handler.postDelayed(autologout, 10000); // 10초 뒤에 Runnable 객체 수행
}
@Override
protected void onPause() {
super.onPause();
// 화면을 벗어나면, handler 에 예약해놓은 작업을 취소하자
handler.removeCallbacks(autologout); // 예약 취소
}