2012-04-04 1 views
1
public class bootCompleteReceiver extends BroadcastReceiver{ 
private External external; 

public bootCompleteReceiver(External _external){ 
    external = _external; 
} 

@Override 
public void onReceive(Context context, Intent intent) { 
    external.doStuff(); 
} 
} 

부트 완료는 등록되지 않지만 생성자를 제거하면 올바르게 작동합니다. (참고 : 수신자가 매니페스트에 올바르게 등록 되었음은 물론입니다).부팅 완료 생성자를 무시할 수 있습니까?

정적 수신기가 생성자를 가질 수 없거나이 코드의 수행 방법을 설명 할 수 없다는 사람이 있는지 확인할 수 있습니까?

답변

1

생성자가 매개 변수를 가지고 있으므로 부트시 해당 코드를 호출 할 수 없습니다. 해당 매개 변수를 채울 수 없으므로 시스템에서 호출 할 수 없습니다. "외부"클래스는 시스템에 관한 한 알려지지 않은 개체입니다.

매개 변수없는 생성자를 추가하거나 시스템에서 해당 매개 변수에 액세스 할 수 있도록 현재 생성자를 제거하십시오.

+0

많은 감사 2000+ –