Я использую Service для выполнения длительного процесса. Я связываю службу в действии, чтобы инициировать процесс. Ниже приведен код, который связывает службу.
val intent = Intent(context,SaveSessionService::class.java)
context.bindService(intent, mSaveSessServiceConnection, AppCompatActivity.BIND_AUTO_CREATE)
После завершения службы в фоновом режиме я пытаюсь остановить службу. Я использую StopService(). Но я получаю сообщение об ошибке подключения к службе с утечкой информации. Прочитав некоторые вопросы SO, мы узнали, что, когда служба связана с BIND_AUTO_CREATE, мы не можем остановить службу с помощью stopService.
Мой вопрос заключается в том, как я могу подключиться к службе, поскольку я также читал, что вызов startService для долго работающей службы также не рекомендуется. Лучше ли использовать IntentService (я так не думаю, поскольку согласно документации для длительной задачи следует использовать только Service)?
Я не могу вернуться к деятельности, как только перейду на сервис. Я должен быть в состоянии остановить службу из самой службы.
Итак, что лучше для этого варианта использования: запустить службу с помощью startService или использовать IntentService?