출처: http://oic.tstore.co.kr/front/community/mentoring/viewMentoring.action?seq=171
[요약]
액티비티를 직접 호출하여 실행하거나 Broadcast을 통해서 호출하여 실행하여도전혀 반응하지 않는 경우에 사용 하시면 됩니다.
[개념]
Android OS 3.1 부터 Package Manager는 어플리케이션 트랙을 적용하게 되었습니다.
이 어플리케이션 트랙은 다른어플리케이션 또는 백그라운시스템에서 런칭시
앱이 Stop된 상태 여부에 따라서 실행 여부를 결정하는 동작을 수행합니다.
앱은 최초 설치만 되고 실행되지 않았거나, Manager Application을 통해서
강제 종료된 경우 앱은 Stop된 상태가 됩니다.
이렇게 앱이 Stop된 상태면 다른 어플리케이션이나, BC로 해당 앱을 실행시킬 수 없습니다.
부언설명: http://developer.android.com/sdk/android-3.1.html#launchcontrols
이 제어를 관장하는 것을 인텐트 플래그에서 처리를 합니다.
아래와 같이 두개의 플래그를 지원하는데 기본 설정된 것이
FLAG_EXCLUDE_STOPPED_PACKAGES 으로 Stop된 앱을 제외하는 것입니다.
FLAG_INCLUDE_STOPPED_PACKAGES
FLAG_EXCLUDE_STOPPED_PACKAGES
따라서 실행하고자 하는 액티비티를 호출할 때 EXCLUDE대신 INCLUDE 플래그를 사용하시면 됩니다.
[사용방법]
Intent intent = new Intent(MY_INTENT_ACTION); intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES); sendBroadcast(intent); |
또는
Intent intent = new Intent(MY_INTENT_ACTION); intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES); startActivity(intent); |
'IT_Programming > Android_Java' 카테고리의 다른 글
[펌] 동일 Task로 앱 실행하기 (0) | 2012.10.05 |
---|---|
[펌] 간단히 다중 위젯의 인스턴스 확보하기 (0) | 2012.10.05 |
[펌] ViewPager에 적용되는 Fragment View 재사용하기 (ViewHolder 적용) (0) | 2012.10.05 |
[펌] Contentprovider 사용시 주의 사항 및 Thread safety (0) | 2012.10.05 |
[펌] SparseArray 기능 소개 (HashMap 대용) (0) | 2012.10.05 |