안드로이드 앱 강제종료 시, 서비스 종료
조회수 3984회
안녕하세요.
안드로이드 Push 수신 앱을 개발을 하고 있습니다. 물론, 수신은 현재 잘 되고 있는데... 다음과 같은 문제점이 있는 것 같습니다.
앱을 강제 종료(Force Kill App)은 경우에는 기타 서비스 Push 수신부 서비스까지 종료가 되어 더
이상 수신이 되지 않는 점입니다.
Log... 01-16 15:21:33.098 2027-2027/? W/GCM-DMM: broadcast intent callback: result=CANCELLED forIntent { act=com.google.android.c2dm.intent.RECEIVE flg=0x10000000 pkg=com.techin.pushnext (has extras) }
다른 온라인 자료를 찾아보면 대부분, 서비스를 강제종료를 하는 경우에 다시 되살리거나 하는 방법은 많이 나와 있더군요. 제가 찾지 못했는지는 모르겠지만,
Gmail 앱, Whatsapp, 카카오톡도 강제 종료를 하더라도, 푸시 수신은 절 되더군요.
가이드 혹은 방향을 제시를 해주시면 감사하겠습니다.
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
1 답변
-
안드로이드 설정을 통해 강제 종료(Force Stop)가 된 경우에는 푸시를 수신하지 못하는 것이 안드로이드가 의도한 정상적인 상황입니다. 이를 이해하려면 안드로이드 어플리케이션의 stopped 상태에 대한 선행 학습이 필요합니다.
ICS부터 앱 설치 시 애플리케이션은 기본적으로 stopped 상태로 진입하게 됩니다. 그렇기 때문에 사용자가 앱을 수동으로 실행하지 않는 한 모든 브로드캐스트 리시버 및 서비스는 동작하지 않습니다. 이는 "설정 > 강제종료" 시에도 stopped 상태로 진입하기 때문에 푸시나 브로드캐스트 리시버를 수신 받지 못하게 됩니다.
올려주신 글에서 카카오톡 같은 앱은 푸시 수신이 잘 된다고 하셨는데요. 다시 한번 테스트 해 볼필요가 있습니다. 왜냐하면 강제 종료된 상태를 프로그래밍적으로 해제할 수 있는 방법이 없기 때문입니다. 참고로 제가 갖고있는 넥서스6P에서는 푸시가 수신되지 않습니다.
관련 내용은 아래 링크에서 확인해 볼 수 있습니다.
만일 앱을 강제 종료했다.라는 의미가 안드로이드 (네비게이션 바의) Recent Tasks 버튼을 눌러 스와이프로 앱을 종료한 경우라면 푸시를 수신하는 것이 정상입니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력