在使用IntentService时出现了java.lang.RuntimeException: Unable to instantiate service这个异常。为什么会出现这个异常呢。因为我们在使用IntentService时,都会习惯性的用系统给我们实现的方法。比如这样的:
public class ApproveUploadService extends IntentService {
public ApproveUploadService(String name) {
super(name);
// TODO Auto-generated constructor stub
}
@Override
protected void onHandleIntent(Intent intent) {
// TODO Auto-generated method stub
}
}
但是这样直接使用IntentService就会出现无法启动IntentService的异常。因为IntentService需要一个无参的构造方法来,来进行初始化。所以出现java.lang.RuntimeException: Unable to instantiate service这个异常的时候,我们只需要将上面的代码改为如下的就行
public class ApproveUploadService extends IntentService implements
OnUploadProcessListener {
public ApproveUploadService() {
super("testService");
}
@Override
protected void onHandleIntent(Intent intent) {
// TODO Auto-generated method stub
}
}
super()里面的名字可以根据实际情况进行修改.