Общая служба Android?

Прежде всего, я хотел бы сказать две вещи. Во-первых, извините, если этот вопрос уже задавался, я искал похожие вопросы по этой теме, но не смог найти решения. Во-вторых, извините за длинный вопрос, и, пожалуйста, дайте мне знать о любой ошибке, и я обязательно внесу соответствующие изменения:).

Я относительно новичок в разработке Android (около 2 месяцев), поэтому, пожалуйста, простите мое незнание. Вопрос, который у меня есть, касается службы Android.

Моя проблема заключается в следующем: я создал следующие 3 приложения:

  • Библиотека Android, содержащая небольшую тестовую службу ( myService ).
  • Приложение ( TestApplicationOne ), имеющее доступ к библиотеке Android.
  • Другое приложение ( TestApplicationTwo ), которое также имеет доступ к библиотеке Android.

Мое текущее решение работает следующим образом: TestApplicationOne ссылается на настраиваемую библиотеку и использует эту библиотеку для подключения к службе ( myService ) через метод bindService () . После успешного подключения приложение затем добавляется к набору наблюдателей, расположенных в myService . Каждый объект в этой коллекции уведомляется каждый раз, когда службе необходимо передать сообщение.

При запуске вышеуказанное решение работало нормально. Однако теперь у меня есть другое приложение ( TestApplicationTwo ), которое также хотело бы использовать ту же службу, что и указанное выше. Реализация TestApplicationTwo была создана для той же работы / спецификации первого приложения ( TestApplicationOne ).

У меня проблема заключается в том, что при запуске службы в любом приложении, другое приложение не уведомляется ни о каких событиях.

Я попытался реализовать несколько подходов для решения этой проблемы. Например, использование шаблона Singleton для сохранения одного экземпляра, но проблема, похоже, все еще существует. Единственное, что я понимаю, это то, что каждый раз, когда запускается любое приложение, создается новый экземпляр библиотеки. Таким образом, библиотека, указанная в TestApplicationOne , не является тем же экземпляром, что и библиотека, указанная в TestApplicationTwo , и, как следствие, не получает уведомления.

Есть ли кто-нибудь, имеющий какой-либо опыт в этом проблема? Или можете придумать какое-нибудь возможное решение?

Заранее благодарю вас за любую помощь, это очень важно.

Джон

9
задан Darren 22 February 2013 в 15:45
поделиться