2010-06-17 7 views
5

서비스 S 및 활동 A가 포함 된 앱을 만들고 싶습니다. 서비스 S는 활동 A의 UI에 표시된 데이터를 준비하는 등의 전처리를 담당합니다. A가 호출됩니다.Android - 서비스 및 활동 상호 작용

내가 패키지 외부에서 서비스 S를 호출 할 수 있도록하려면, 다른 안드로이드 응용 프로그램의 활동 클래스 B에서 말하는 전처리를 수행하고 데이터가 준비 후 때, 활동 A.

내 질문에 호출 다음과 같습니다 :

  1. 서비스 S와 활동 A간에 데이터를 공유하는 가장 좋은 방법은 무엇입니까?
  2. 외부 활동 B가 서비스 S와 통신하여 모든 사전 처리 작업을 완료했는지 확인하고 활동 A를 호출 할 준비가 되었습니까?

감사 크리스

+0

브로드 캐스트 수신기를 사용하여 서비스에서 외부 활동에 전처리를 수행했다고 알릴 수 있습니까? – Chris

답변

7

서비스 S 및 활동 사이 데이터를 공유 할 수있는 가장 좋은 방법은 무엇입니까?

로컬 바인딩 패턴을 사용하고 활동 A를 서비스 S에 바인딩 한 다음 서비스의 노출 된 API를 호출하여 필요한 정보를 검색하십시오. 이 모든 의 전처리에 완료하고, 가 준비 활동이 호출 될 경우

어떻게 이 서비스 S 에 통신 외부 활동 B는 확인할 수 있습니까?

원격 바인딩 패턴과 AIDL을 사용하십시오. 액티비티 B는 AIDL 정의 콜백을 서비스 S로 등록합니다.이 콜백은 적절한 경우 서비스에서 호출합니다. 예를 들어 herehere을 참조하십시오.

+0

마침내 의미가 있습니다! 고맙습니다! – Chris