У меня есть библиотека Android с сервисом, который я реализовал с помощью AIDL. Я хочу, чтобы один экземпляр, кросс-приложение, использовалось с другими приложениями. Итак, у меня есть базовое приложение со службой, и мне удалось создать библиотеку для других приложений, чтобы использовать тот же экземпляр.
Моя проблема возникает, когда я закрываю все приложения, использующие службу, потому что для каждого приложения удаление уничтожается из службы, но служба все еще работает.
Кроме того, я использую сервис только по привязке, а не по startService ().
Я проверил через android studio, что сервис закрывается после закрытия приложений, и счетчик, который я имею в сервисе для каждого вызова bind / unbind, равен 0 !. Я увеличиваю счетчик, когда есть вызов для привязки, и уменьшаю для вызовов для отмены. Мой единственный способ остановить службу - открыть базовое приложение, для которого определена служба, и закрыть его.
Редактировать: Также заметил, что onBind вызывается только один раз, даже для других приложений, которые являются обязательными, но ссылка для всех этих приложений остается той же службой, они совместно используют одну и ту же информацию, и в Android отображается только одна служба студия.
Редактировать: Я также заметил, что если одно из приложений, использующих службу, является базовым приложением, если я закрываю его, служба умирает, а другое запускается, другие приложения не замечают изменения, они сохраняют используя сервис, как будто ничего не произошло, что понятно, потому что это удаленный сервис.
Что происходит и что я могу с этим поделать?