마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

앱 종료에 대한 로직 문제가 있는데 한 번 봐주세요.

0 추천

안녕하세요.

로직에 대한 문의 드립니다.

 

미션 : 웹소켓이 연결되어 있는 상태이고 앱 종료시 disconnect() 메소드를 호출해야 한다.

 

앱은 MainActivity / SubActivity1 / SubActivity2 이렇게 3개의 화면으로 구성되어 있습니다.

MainActivity에서 SubActivity1 또는 SubActivity2로 넘어갈 때 onPause() / onStop() 이벤트가

발생하고 있습니다.

다시 MainActivity로 돌아올 때 onStart() / onResume() 이벤트가 발생하죠.

 

그런데 문제점은 안드로이드에서 앱을 강제로 종료시키기 위해 앱 리스트 버튼을 누르면

onPause() / onStop() 이벤트를 타게 되는데,

이때 좌/우측으로 스와이프해서 강제 종료 시켜버리게 되면 연결되어 있던 웹소켓의 disconnect() 

메소드를 호출할 수가 없게 됩니다.

 

비정상 강제 종료 타이밍을 잡을 수 있는 이벤트가 있으면 좋겠는데 아직 잘 모르겠네요.

그래서!

강제종료를 하더라도 웹소켓 disconnect() 메소드를 정상적으로 호출할 수 있는 방법이 있는가?

하는 겁니다.

 

좋은 의견 있으신 분 있나요?

케이엔비 (660 포인트) 님이 2016년 2월 29일 질문
이벤트로만 처리를 하려고 해서 그런걸까요?
이벤트 방법이 아니더라도 좋습니다. 방법이 있는지라도.... ㅠㅠ

1개의 답변

0 추천
ondestroy 이벤트는 탈겁니다.

그리고 번외지만 모바일 환경에서의 소켓통신은 액티비티 비정상 종료가 아닌 소켓 자체의 비정상 종료에 대한 처리도 서버 로직도 처리해야 할겁니다. 무선이다 보니 많이 불안해요~
hater (6,600 포인트) 님이 2016년 2월 29일 답변
그렇군요. 감사합니다.
아.. 테스트 해봤는데.. onDestroy 이벤트 안타네요. ㅠㅠ
큰일이군요..
...