2012-06-12 5 views
1


BroadcastReceiver이있는 서비스가 있습니다.
BroadcastReceiveronReceive 함수에서 서비스 클래스의 함수를 호출하려면 어떻게해야합니까?
내가 할 수 없다면, 어떻게해야합니까? myFunctionBroadcastReceiver 방법으로 같은 이름이있는 경우, 당신은 명시 적으로이 같은 외부 클래스 메소드를 호출 할 수 있습니다,BroadcastReceiver onReceive 함수의 호출 클래스 함수

broadcastReceiver = new BroadcastReceiver() { 
     @Override 
     public void onReceive(Context context, Intent intent) { 
      myFunction(); 
     } 
    }; 

또는 :

public class MyService extends Service { 
    private BroadcastReceiver broadcastReceiver; 

    @Override 
    public IBinder onBind(Intent arg0) { 
     return null; 
    } 

    @Override 
    public void onCreate() { 
     broadcastReceiver = new BroadcastReceiver() { 
      @Override 
      public void onReceive(Context context, Intent intent) { 
       ... // How to call myFunction() here? 
      } 
     }; 
     ... // intentFilter, registerReceiver, etc... 
    } 

    private void myFunction() { 
     ... // do something 
    } 
} 

답변

1

당신은 다음과 같이 호출 할 수 있습니다 : 여기
몇 가지 코드 :

broadcastReceiver = new BroadcastReceiver() { 
     @Override 
     public void onReceive(Context context, Intent intent) { 
      MyService.this.myFunction(); 
     } 
    }; 
+0

잘못된 함수 이름을 써서 IDE가 함수를 찾지 못해서 뭔가 특별한 일이라고 생각했습니다. 감사합니다 – Snote

+0

당신을 환영합니다! – tibtof

관련 문제