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

어플 설치 후 실행 전 Receiver/Service 등록 법 질문드립니다.

0 추천
안녕하세요.

 

AndroidManifest에 등록된 receiver는 별도로 코드에서 건드리지 않아도,

자동적으로 등록되어 동작하는 줄 알고 있었는데,

최초 설치 후 한 번이라도 실행하기 전에는 등록되지 않는 것 같습니다.

 

혹시 어플리케이션을 설치 후 실행 없이 Receiver나 Service를 등록할 수 있는 방법이 있다면,

도움 부탁드립니다.

 

감사합니다.
익명사용자 님이 2013년 10월 28일 질문

1개의 답변

0 추천

BroadcastReceiver 같은 경우에는 최초 실행 없이는 동작하지 않을겁니다.

해당 패키지 상태가 Stopped라 그런건데 최초 실행을 하지 않은 경우에도 Stopped 상태로 관리됩니다. 그 외에도 Stopped 상태로 변경되는 경우(TaskManager에서 킬할 시)도 있고요.

http://developer.android.com/about/versions/android-3.1.html 에 Launch Control on Stopped applications 항목 참고

위에 링크 가서 보시면 모든 브로드케스트에 Stopped 상태의 어플리케이션은 제외하도록 플래그 셋팅이 됩니다.

이때문에 리시버가 브로드케스트를 못받는거지 등록이 안된건 아닙니다.

Stopped 상태에서도 받게 하려면 FLAG_INCLUDE_STOPPED_PACKAGES 설정 해주시면 됩니다.

whitesnow (8,920 포인트) 님이 2013년 10월 28일 답변
...