Получение пакетов из PackageManager - PullRequest
1 голос
/ 10 октября 2010

Я пишу приложение, которое имеет несколько модульную систему. Он имеет основное приложение и некоторые приложения, состоящие из одного Service, который реализует желаемый интерфейс. Я следовал руководству для создания связи IPC. Но теперь мне нужно получить все службы, установленные в системе, с которыми может работать мое основное приложение. Как мне это сделать? Я имею в виду, есть ли способ пометить мои Service приложения каким-либо тегом, а затем отфильтровать результаты, представленные PackageManager#getInstalledPackages() на основе этого значения тега? Какова обычная практика?

1 Ответ

1 голос
/ 10 октября 2010

Создайте пользовательское намерение, на которое будут реагировать ваши действия. Затем вы можете использовать PackageManager.queryIntentServices, чтобы получить список соответствующих служб. Вы можете получить информацию о пакете и т. Д. Из информации, встроенной в ResolveInfos.

В идеале вы бы использовали эти намерения для вызова сервисов, но вы всегда можете просто использовать их в качестве идентификационных тегов и использовать механизм привязки, который вы использовали ранее.

...