没有空的构造函数

时间:2013-03-19 11:24:00

标签: java android android-service

我正在尝试使用远程服务来构建BlueTooth聊天(就像Android示例之一)。但自从我上次修改以来,应用程序无法启动,日志显示我的服务错误no empty constructor。我已阅读this post但我无法添加任何空构造函数。必须有一些我做错了,或者它对远程服务不起作用。

这是我的构造函数:

public RemoteService(Context context, Handler handler) {
    mAdapter = BluetoothAdapter.getDefaultAdapter();
    mState = STATE_NONE;
}

有人可以告诉我它有什么问题吗?

3 个答案:

答案 0 :(得分:1)

尝试:

public RemoteService() {
    super();
}

除非您的业务规则声明您不能真正拥有空构造函数。那么你不应该在某处召唤new RemoteService()

答案 1 :(得分:0)

您必须提供默认构造函数,因为服务需要默认构造函数,然后您可以使用参数化构造函数。

public class ReminderService extends IntentService {

   ----------------------------
    public ReminderService() // Need to add the default constructor
    {
      super("ReminderService"); // Calling the super constructor
    }

   public RemoteService(Context context, Handler handler) //Then use your own constructor
   {
    mAdapter = BluetoothAdapter.getDefaultAdapter();
    mState = STATE_NONE;
  }
  ----------------------------------

}

试试这个并告诉我你是否还有任何问题。

答案 2 :(得分:0)

感谢您的回答,但与此同时,有人帮助我清理代码,删除构造函数并执行其他操作,但我并不了解所有内容。

很抱歉,我无法解释究竟出了什么问题,但我可以说非参数构造函数会产生错误。