2011-02-08 2 views
2

android에서 Boardcast 수신기로 클래스의 내부 클래스를 등록 할 수 있습니까?클래스의 내부 클래스를 Boardcast 수신기로 등록 할 수 있습니까?

public class A extends AnotherClass { 
    public class B extends BroadcasetReceiver { 
    } 
} 

B의 A를 등록하여 인스 트림을 수신하려면 어떻게해야합니까?

감사합니다.

+0

'Service'를 연장 한 클래스에서이 작업을 시도했지만 행운이 없었습니다. 그것은 단지 내 구현되었을 수 있습니다. –

+0

서비스 및 활동을 확장하는 클래스에서 성공적으로 수행했습니다. 이 경우 IntentFilter는 프로그래밍 방식으로 등록되므로 매니페스트에 등록 할 필요가 없습니다. – Zelimir

+0

가능한 [내부 클래스로 BroadcastReceiver] 중복 (http://stackoverflow.com/questions/4854807/broadcastreceiver-as-inner-class) –

답변

3

그런 경우 Context.registerReceiver()으로 등록하는 것이 좋습니다. 정적으로 만들 수 있다면 AndroidManifest에서 다음과 같이 참조하십시오 : AnotherClass$BroadcasetReceiver. 음 ... 정적 인 경우 최상위 클래스를 만드는 것이 좋습니다.

3

정적 내부 클래스는 매니페스트의 브로드 캐스트 수신기로 등록 할 수 있습니다.

수신기는

.path.to.class.MyClass$MyInnerClass

로 불린다 I는 비 정적 내부 클래스를 참조 할 수있다라고 생각하지 않는다.

관련 문제