IT | Computer/안드로이드

sendBroadcast() static으로 사용하는 법

바람난후제 2012. 11. 22. 13:21
반응형

static 함수 또는 클래스 내에서는 내부 호출 함수를 static으로 사용하여야 한다.


따라서, sendBroadcast() 함수도 static으로 사용이 필요하다.


이럴 때 방법은 Context를 이용하는 것이다! (단, Context 객체를 받을 수 있는 Activity, Service를 상속하였을 때 사용)


예를 들어, 아래는 당연히 오류가 발생한다.

public static void mA(){

Intent i;

...

sendBroadcast(i);

}


다음과 같이 Context 객체를 통해 sendBroadcast를 호출한다.


public static class A extends Service{


Context context;


public A(){

context = this;    // Service 자체가 Context가 가능 

}


public static void mA(){

Intent i;

...

context.sendBroadcast(i);

}

}


이러면, 문제없이 sendBroadcast()를 사용할 수 있다. ^^


Context에 대해서는 추가 정리를 하도록 하겠다.



반응형