У меня есть служба со следующим конструктором:
public ShimmerService(Context context, Handler handler) {
mHandler = handler;
}
Я хочу создать экземпляр этого класса обслуживания.У меня есть следующий код, но я не уверен, где передать параметр:
private ServiceConnection mConnection = new ServiceConnection() {
public void onServiceConnected(ComponentName className, IBinder binder) {
mShimmerService = ((ShimmerService.ShimmerConfigureBinder) binder)
.getService();
Toast.makeText(ConfigureShimmer.this,
"Shimmer service has succesfully started.",
Toast.LENGTH_SHORT).show();
}
public void onServiceDisconnected(ComponentName className) {
mShimmerService = null;
}
};
У меня есть все остальное, включая привязку, при запуске и так далее.Но я получаю сообщение об ошибке в приведенном выше коде:
04-03 19:06:10.285: E/AndroidRuntime(16837): java.lang.RuntimeException: Unable to instantiate service com.milanix.androidecg.services.ShimmerService: java.lang.InstantiationException: can't instantiate class com.milanix.androidecg.services.ShimmerService; no empty constructor
Как мне решить эту проблему?Где мне нужно будет передать параметр?Следующий код работает, но он скорее использует класс обслуживания как класс, а не как сервис:
mShimmerService = new ShimmerService(this, mHandler);