Главная » Разработка для Android » Неявные Намерения и связывание во время выполнения программы

0

Неявные Намерения — это механизм, позволяющий запрашивать ано- нимные компоненты приложений с помощью действий. Это значит, что вы можете попросить систему запустить Активность, выполняющую заданное действие, не зная ничего ни о самой Активности, ни о ее приложении.

Создавая новое неявное Намерение для передачи в метод startActivity, необходимо  назначить  действие, которое  должно  выполниться, а также при желании указать вспомогательный путь URI к тем данным, что нужно обработать. Вы также можете передать дополнительные данные в целевую Активность, используя параметр Намерения extras.

При применении этого Намерения для запуска  Активности Android  во время работы приложения сам найдет класс компонента,  который лучше всего подходит для заданного действия, учитывая указанный тип данных. Это значит,  что вы можете создавать  проекты,  используя возможности других приложений и не зная при этом, как они называются и какую функ- циональность предоставляют.

Например, чтобы позволить пользователям звонить  из вашего прило- жения, можно создать собственную программу дозвона или применить не- явное Намерение, указав действие (звонок), которое необходимо выполнить

(телефонный номер дается в виде пути URI). Этот процесс демонстрируется в листинге 5.2.

Листинг 5.2. Неявный запуск Активности

if (somethingWeird && itDontLookGood) {

Intent intent = new Intent(Intent.ACTION_DIAL, Uri.

parse("tel:555.2368"));

startActivity(intent);

}

Android получает это Намерение и запускает Активность, с помощью ко- торой можно сделать звонок по указанному  номеру — в данном случае это Активность для дозвона.

Если есть сразу несколько  Активностей, предоставляющих телефонные функции,  пользователю предложат  выбрать одну из них. Полный  процесс утверждения Намерений описан далее в этой главе.

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

Источник: Майер P. Android 2 : программирование приложений для планшетных компьютеров и смартфонов : [пер. с англ. ] / Рето Майер. — М. : Эксмо, 2011. — 672 с. — (Мировой компьютерный бестселлер).

По теме:

  • Комментарии