2012-04-04 54 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+ – 2012-04-04 14:51:23

相关问题