Android - Back key 무시

Android 2016. 1. 20. 00:05 posted by TechNote.kr


일반적으로 안드로이드에서 back key를 누르게 되면 back stack에서 activity가 pop 되면서 이전의 activity로 돌아가게 된다.


back key의 주요 동작이 이와 같은데 간홀 이 동작 말고 다른 동작을 원할때가 있다.


예를 들면 back key를 누르면 처음 한번째에는 warning을 띄워 주고, 다음 back key를 누를 경우 app을 종료시키는 것과 같은 루틴이다. 이 말고도 back key를 아예 무시하도록 할 수도 있다.


아래 코드와 같이 back key를 누르게 되면 onBackPressed 함수가 호출되게 되고, 해당 함수내에서 super.onBackPressed()가 실제 이전 activity로 복귀하는 곳이다. 이전 activity로 복귀를 원하지 않으면 해당 super.onBackPressed() 함수를 타지 않도록 하면 된다.




public class TestActivity extends AppCompatActivity {


@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

}


@Override

public void onBackPressed() {

if (condition) {

// some operation

super.onBackPressed();

} else {

// some operation

}

}

}