您的位置:首页 > 移动开发 > Android开发

开发问题及解决 E/AndroidRuntime(15377): Caused by: java.lang.InstantiationException: can't instantiate clas

2015-04-03 13:36 645 查看
在使用IntentService时,没有定义无参的构造函数。

如下所示。

代码段1:

public class CustomIntentService extends IntentService {

private static final String TAG = CustomIntentService.class.getSimpleName();
static String s = "test";

//	public CustomIntentService() {
//		super("CustomIntentService");
//	}

public CustomIntentService(String name) {
super(name);
Log.i(TAG, "CustomIntentService");
}

@Override
public void setIntentRedelivery(boolean enabled) {
super.setIntentRedelivery(enabled);
Log.i(TAG, "setIntentRedelivery");
}

@Override
public void onCreate() {
super.onCreate();
Log.i(TAG, "onCreate");
}

@Override
public void onStart(Intent intent, int startId) {
super.onStart(intent, startId);
Log.i(TAG, "onStart");
}

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return super.onStartCommand(intent, flags, startId);
}
}


这样我们用以下方式使用IntentService的时,就会报如标题所示的错误。

代码段2:

Intent startServiceIntent1 = new Intent();
startServiceIntent1.setClass(this, CustomIntentService.class);
Bundle bundle = new Bundle();
bundle.putString("param", "oper1");
startServiceIntent1.putExtras(bundle);
startService(startServiceIntent1);


解决方法就是将代码段1中被注释掉的部分放开。


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐