3
내 앱의 매니페스트에 BroadcastReceiver를 등록하면 (예 : 네트워크 변경 사항 알림) 언제 알림을 받기 시작합니까? 기기 시작시? 아니면 앱을 수동으로 실행해야합니까?언제 BroadcastReceiver를 사용할 수 있습니까?
내 앱의 매니페스트에 BroadcastReceiver를 등록하면 (예 : 네트워크 변경 사항 알림) 언제 알림을 받기 시작합니까? 기기 시작시? 아니면 앱을 수동으로 실행해야합니까?언제 BroadcastReceiver를 사용할 수 있습니까?
기기가 완전히 부팅되면 브로드 캐스트 수신이 시작됩니다. 그러나 Honeycomb (API 레벨 12)부터 시작하여 청취 브로드 캐스트를 시작할 수 있도록 애플리케이션을 한 번 이상 실행해야합니다.
허니 콤 이상에서는 응용 프로그램을 설치할 때 프레임 워크가 STOPPED_PACKAGE으로 표시되며 수신을위한 브로드 캐스트 수신기는 포함되지 않습니다. 하지만 한 번 응용 프로그램을 실행하면 해당 표시가 제거되고 사용하기에 좋습니다.
대체로 중지 된 패키지를 포함 시키려면 브로드 캐스트 인 텐트로 플래그 Intent.FLAG_INCLUDE_STOPPED_PACKAGES
을 설정해보십시오. 예를 들어
:
intent.setFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
그냥 만드는 분명히 : 나는 한 번 응용 프로그램을 시작하면 다음 장치, 방송 수신기가 바로 시작시 활성화됩니다를 재부팅? – fiddler
네, 그 후에 괜찮습니다. – waqaslam
static final이기 때문에 항상 intent.FLAG_INCLUDE_STOPPED_PACKAGES를 사용할 수 있습니다 (min-sdk와 관계 없음). 값은 인라인 된 컴파일 타임입니다. –