Как создать экземпляр службы Android с помощью конструктора?

У меня есть служба со следующим конструктором:

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);
12
задан vbence 25 January 2015 в 14:31
поделиться