onStop()가 사용자 눈에 보이지 않을 때 그러니까 onDestroy() 전에 호출되는 함수데

안드로이드 기본 버튼 보면 뒤로가기 버튼이 있는데 이 버튼을 누르면 어플이 종료가 되는걸로 알고 있습니다

그렇다면 뒤로가기 버튼을 누르는 순간 onPause()->onStop() -> onDestroy() 순으로 호출이 된다는 건가요?

그리고 통신 어플리케이션을 계발하고 있습니다 소켓에 연결된 상태에서는 함부로 종료를 하면은 안되고 반드시 소켓을 종료하고 어플리케이션을 종료해야 하는데 만약 사용자가 함부로 뒤로가기 버튼을 누르면 소켓에 연결되 있는 상태라서 소켓연결을 해제하고 종료하라는 메세지를 화면에 출력하고 어플리케이션은 종료안되게 만들고 있는데 생각보다 쉽지가 않습니다. 아래 코드를 어떻게 수정하면 좋을까요 답변 부탁드립니다.

 

 public void onPause(){
  if(connect){
   Toast.makeText(this, "서버와 연결 종료하세요", Toast.LENGTH_SHORT).show();
   super.onRestart();

   return;
  }
  super.onPause();
  //super.onDestroy();
 }
 public void onRestart(){
  super.onRestart();
 }