Я ищу способ начать Android-сервис без класса. Я нашел много примеров:Запустите Android-сервис без .class
startService (новое намерение (это, TheService.class));
Я не хочу размещать в нем класс обслуживания и до сих пор работаю до тех пор, пока я не остановлю его вручную.
Мне не нужно иметь интерфейс службы, так как он должен открывать некоторые сокеты без каких-либо параметров.
Время работы службы не должно зависеть от времени работы приложения: Первое приложение, которому требуется Служба, должно запустить его, а затем запустить, пока оно не будет остановлено вручную.
Поэтому я не могу использовать BroadcastReceiver, потому что они живут короткими. Привязка к сервису приведет к отключению, которое останавливает обслуживание (чего я не хочу).
Есть ли способ использовать старт-сервис без. Класса службы? Альтернатива: Есть ли способ привязки к сервису, который не связывает время жизни с запущенным приложением?
Просто потому, что это может привести к неправильному решению дизайна: _I не может использовать BroadcastReceiver потому они живут слишком коротко, звучат так, как будто вы еще не знаете, что в течение жизненного цикла BroadcastReveivers и Services аргументация по-прежнему неправа, потому что один из них может начать долгое обслуживание через BroadcastReveiver. Кроме того, _binding_ к службе имеет, конечно, что-то общее с жизненным циклом объекта Application Activity, но временной интервал _binding_ необязательно должен соответствовать периоду _running_ службы. SO не принимают проектного решения на основе недоразумений. –
Если ваш 'Сервис' хочет контролировать свою собственную жизнь, вы все равно можете это сделать, используя bind/unbind. Когда клиент связывается, «Служба» может тогда начинаться сама собой (просто вызывая 'startService()' в 'onBind()'), так что, когда клиент отключает «Сервис», он автоматически не останавливается. Затем «Сервис» может останавливаться, когда он готов к завершению. –