728x90
반응형
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에 대해서는 추가 정리를 하도록 하겠다.
728x90
반응형
'IT | Computer > 안드로이드' 카테고리의 다른 글
안드로이드 Bluetooth 연결 (0) | 2015.12.06 |
---|---|
Android Example Application 개발 (0) | 2015.12.06 |
Android 개발환경 설치 (0) | 2015.12.06 |
Inner Class 형태로 Broadcast Receiver 구현 (0) | 2012.11.20 |
Toast로 메시지 띄우기 (0) | 2012.09.20 |