1

我正在尝试使用远程服务来构建蓝牙聊天(如 Android 示例之一)。但是自从我上次修改后,应用程序没有启动,并且日志显示了no empty constructor我的服务的错误。我已经阅读了这篇文章,但我不能添加任何空的构造函数。一定是我做错了什么,或者它对远程服务不起作用。

这是我的构造函数:

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

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

4

3 回答 3

1

尝试:

public RemoteService() {
    super();
}

除非您的业务规则规定您不能真正拥有一个空的构造函数。然后,您在new RemoteService()不应该的情况下要求某个地方。

于 2013-03-19T11:28:03.157 回答
0

You have to provide default constructor as the service demands a default constructor and then you can use parametrized constructor as you have done.

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;
  }
  ----------------------------------

}

Try this one and let me know if you still have any issue.

于 2013-03-19T11:34:04.613 回答
0

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

很抱歉,我无法准确解释出了什么问题,但我可以说非参数构造函数正在生成错误。

于 2013-03-19T13:13:48.327 回答