Mobile/Android
[Android]OS version 3.1 이후부터 Broadcast 주의 사항
out of coding
2015. 10. 28. 11:50
안드로이드 OS version 3.1 이후부터 sendBroadcast를 할 경우에 대해서, 플래그를 사용할 수 있게 됩니다.
이유는 3.1부터는 system의 package manager 는 application의 stop 상태를 유지 관리하며,
background process 나 다른 app에서 launch 할 수 있는 것을 control 하기 때문입니다.
다음 플래그로 선택을 할 수 있습니다.
FLAG_INCLUDE_STOPPED_PACKAGES : stopped 된 application도 target에 포함
FLAG_EXCLUDE_STOPPED_PACKAGES : stopped 된 application은 target에 미포함
Broadcast intent에 대해서는 기본값으로 FLAG_EXCLUDE_STOPPED_PACKAGES를 더하게 됩니다.
기타 다른 component에 대해서 는 기본값으로 FLAG_INCLUDE_STOPPED_PACKAGES를 더하게 됩니다.
* 어플리케이션이 설치된 후 한번도 실행되지 않거나, 어플리케이션 관리자에서 강제종료되었을 경우에 stopped state 입니다.
이 값들을 가지고, 실행중인 앱에만 전달하고 싶을 경우에는,
FLAG_INCLUDE_STOPPED_PACKAGES을 사용하고, FLAG_EXCLUDE_STOPPED_PACKAGES을 사용하면 됩니다.
어려운 부분은 아니지만,
안드로이드가 귀찮게 하네요 ㅎㅎ