Service
이 백그라운드에서 작동하며 이벤트를 두 개 (Activities
및 Service
)로 알리는 유스 케이스가 있습니다. 다음과 같은 이유로 주문 된 브로드 캐스트를 사용하고 있습니다. ActivityA
이 포 그라운드에 있으면 브로드 캐스트는 들어오는 이벤트를 처리 한 다음 브로드 캐스트를 중단합니다. 이 방법은 ActivityB
및 Service
은 알리지 않습니다.서비스에 대한 순서가 지정된 방송
2) 브로드 캐스트가 중단되지 않은 경우 ActivityB
이 줄의 다음 항목입니다. 또한 활성화 된 경우 브로드 캐스트를 취소합니다.
3) 그렇지 않은 경우 Service
이 이벤트를 처리합니다.
각 구성 요소에는 우선 순위가 다른 BroadcastReceiver
이 있습니다. Service's BroadcastReceiver
은 내부 정적 클래스이고 <receiver>
은 적절한 <intent-filter>
으로 AndroidManifest.xml에 선언되어 있습니다.
문제는 here이 지적했듯이 매니페스트에 사용자 지정 작업을 남겨 두어 내 도청을 도청하지 않으려는 것이지만 주문한 방송을 사용하는 것 외에 다른 방법을 알 수는 없습니다.
다른 옵션은 있습니까?
저는이 경우 AIDL이 과잉이라고 생각합니다. 게다가 구성 요소는 동일한 프로세스에 상주합니다. –