Проверка приложения для обработки Intent


Android предлагает очень мощные и простые в использовании типы сообщений называемые intents. Вы можете использовать intents для перевода приложения на более высокий уровень и для того чтобы сделать ваш код модульным и пригодным для повторного использования. Например приложения Android Home screen и AnyCut широко используют intents для создания ярлыков.

Нет никакой гарантии, что сообщение отправленное вашим приложением с помощью intent будет получено другим приложением. В большинстве случаев это происходит со сторонними приложениями.

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

Пример использования вспомогательного метода описанного выше:

В этом примере, меню отображается серым цветом, если приложение Barcode Scanner не установлено.

Другой, более простой способ – это обработать исключение ActivityNotFoundException при вызове startActivity(). Этот способ позволяет только реагировать на проблему, т.е. вы не сможете обновить пользовательский интерфейс для того, чтобы пользователь не выбрал вариант с intent, который не будет обработан другим приложением. Методика, описанная здесь также может быть использована при запуске приложения, чтобы спросить пользователя не хотел бы он установить недостающую программу и просто перенаправить его в Android Market, используя соответствующий URI.

Оставьте комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *