2013-10-10 2 views
6

내 응용 프로그램에서 다른 응용 프로그램으로 브로드 캐스트를 보내야합니다. 어떤 도움이 필요합니다!하나의 apk/패키지에서 다른 apk/패키지로 브로드 캐스트 보내기

<receiver android:name="com.sample.ThemesUpdatedReceiver"> 
     <intent-filter> 
      <action android:name="com.sample.THEMES_UPDATED"/> 
     </intent-filter> 
    </receiver> 
+0

'AndroidManifest.xml' 파일에'com.demo.list'에'BroadcastReceiver'를 선언 했습니까? 아니면 코드에 있습니까? 왜냐하면 앱간에 작동하기 위해서는 반드시 'AndroidManifest.xml'에 있어야하기 때문입니다. – bclymer

+0

예, 의도 필터가 있습니다. – AJit

+0

중요한 것은 com.demo.list에 LAUNCHER 활동이 없습니다. 어떤 차이가 있는지 확신 할 수 없습니다. – AJit

답변

2

것은 당신이가는 경우 : 내 응용 프로그램 패키지는 ..

편집 1) com.demo.database하고 2) com.demo.list

Intent themesIntent = new Intent(ThemesManager.THEMES_UPDATED); 
themesIntent.putExtra("package", packageName); 
ctx.sendBroadcast(themesIntent); 

가 작동하지 방송, 그것은 일반적으로 보낸 사람과 수신기가 다음과 같습니다. ,

Intent toret = new Intent(); 
toret.setAction("com.myapp.foo"); 
toret.putExtra("bar", "fizzbuzz"); 
sendBroadcast(toret); 

수신기

IntentFilter intentFilter = new IntentFilter("com.myapp.foo"); 
    BroadcastReceiver receiver = new BroadcastReceiver() { 
     @Override 
     public void onReceive(Context context, Intent intent) { 
      // ... do something with the intent 
     } 
    // register the receiver 
    this.registerReceiver(receiver , intentFilter); 

보낸 사람이 항상 전송 (예를 들어 onResume()에) : 당신은

보낸 사람 (어디에서 보내는 지금까지) ... 보낸 사람 모양을 게시했습니다 수신자는 의도를 청취하기 위해 등록해야합니다.

+0

예, AndroidManifest.xml에 등록되었습니다. – AJit

+0

XML에 무엇이 들어 있습니까? (그리고 THEMES_UPDATED 상수의 값은 무엇입니까?) –

+0

에 편집 내용이 추가되었으며 예 THEMES_UPDATED는 상수 값 – AJit

2

특정 패키지 브로드 캐스트에 대한 보내기 의도로 패키지를 설정할 때를 제외하고 모든 전송 된 모든 브로드 캐스트가 모든 응용 프로그램에서 수신되는 것으로 생각했습니다.

내 다른 앱이 시작되지 않았기 때문에 (브로드 캐스트가 수신되지 않음) (런처 활동이 없음)

5

@Ajit : 안녕하세요, Android API 3.0 [API 수준 11] 이후로 애플리케이션이 한번도 시작된 적이 없다면 BroadcastReceiver는 이벤트를 수신 할 수 없습니다. 귀하의 경우 앱에 실행기 활동이 없습니다 , 사건의 거절을 야기하는 경우도있을 수 있습니다.

이와 함께 다음 접근 방식을 사용해보십시오. 의도 객체를 생성하는 동안 상수 값을 전달했습니다. 대신 intent.setAction() 메서드에서 전달하십시오.

희망이 도움이됩니다.

+0

입니다. ans @anish에 감사드립니다. 설정 및 조치가 어떤 해결책도 제공하지 않습니다 ... – AJit

+0

매우 도움이되는 답변 –

관련 문제