2010-09-30 2 views
0

У меня есть служба Android. Любое приложение для Android может использовать его API, чтобы получать какие-то обновления новостей от этой службы. Я хочу распространять эту услугу, чтобы любое приложение Android могло использовать эту услугу. Я задаю следующие вопросы:Служба поддержки Android

  1. Когда какое-то приложение для Android попытается использовать его API на телефоне и предположим, что услуга недоступна на телефоне, что произойдет?
  2. Как разработчик приложения Android сможет убедиться, что услуга доступна на телефоне?
  3. Должен ли разработчик приложения связывать службу с его приложением? Если да, то не будет ли несколько экземпляров одной и той же услуги на телефоне, если несколько приложений содержат одну и ту же услугу на телефоне?

Благодаря Dalvin

ответ

0

Когда некоторые андроид приложения пытаются использовать его API по телефону, и предположим, что услуга не доступна по телефону, то что будет?

Если они умны, они будут использовать PackageManager, чтобы узнать, были ли вы установлены в первую очередь. В противном случае их попытка вызвать startService() или bindService() не удастся.

Как разработчик приложения Android сможет убедиться, что услуга доступна на телефоне?

PackageManager.

Должен ли разработчик приложений связывать услугу с его приложением?

Как мы должны знать? Вы тот, кто его написал.

Если да, то не будет ли несколько экземпляров одной и той же услуги на телефоне, если несколько приложений содержат одну и ту же услугу на телефоне?

Возможно. Трудно ответить на этот вопрос абстрактно, поскольку существует множество способов распространения этой службы (как APK, как проект библиотеки Android, как JAR, как всего лишь кусок исходного кода) и несколько способов его интеграции (изменить исходный код, использовать исходную/JAR/библиотеку как есть, указать существующий APK).

+0

Спасибо за ответ. Поскольку упомянутый разработчик может проверить, доступен ли сервис, или нет, используя PackageManager. Предположим, что услуга недоступна по телефону. Теперь можно автоматически инициировать загрузку сервиса PackageMangar? –