我正在尝试使用远程服务来构建BlueTooth聊天(就像Android示例之一)。但自从我上次修改以来,应用程序无法启动,日志显示我的服务错误no empty constructor
。我已阅读this post但我无法添加任何空构造函数。必须有一些我做错了,或者它对远程服务不起作用。
这是我的构造函数:
public RemoteService(Context context, Handler handler) {
mAdapter = BluetoothAdapter.getDefaultAdapter();
mState = STATE_NONE;
}
有人可以告诉我它有什么问题吗?
答案 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)
感谢您的回答,但与此同时,有人帮助我清理代码,删除构造函数并执行其他操作,但我并不了解所有内容。
很抱歉,我无法解释究竟出了什么问题,但我可以说非参数构造函数会产生错误。