Главная » Разработка для Android » Использование Намерений для запуска Активностей

0

Чаще всего Намерения используются для связывания компонентов при- ложения. С их помощью можно запускать Активности и осуществлять пере- ходы между ними.

ПРИМЕЧАНИЕ

Методы, приводимые в данном разделе, относятся к запуску новых Активностей, но этот же подход применим и к Сервисам. Подробности о запуске (и создании) Сервисов смотрите в главе 9.

Чтобы запустить  Активность, вызовите  метод startActivity, передав ему в качестве параметра Намерение, как показано в следующем фрагменте:

startActivity(myIntent);

Намерение может явно указывать  на класс Активности, экземпляр кото- рого должен быть запущен, или содержать действие, которое эта Активность должна  выполнить.  Во втором случае система  сама динамически выбе- рет Активность, задействовав процесс, называемый Утверждением намерения (Intent Resolution).

Метод startActivity находит и запускает одиночную Активность, которая лучше всего подходит для вашего Намерения.

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

Запуск новых Активностей явным образом

В главе 2 вы узнали, что приложения состоят из ряда взаимосвязанных экранов — Активностей,  которые необходимо включить  в манифест  прило- жения. Чтобы соединить их воедино, вы должны явным образом указывать, какую Активность хотите открыть.

Для этого требуется создать новое Намерение, указав текущий контекст приложения и класс Активности, экземпляр которой вы хотите запустить. Пе- редайте это Намерение в метод startActivity, как показано в листинге 5.1.

Листинг 5.1. Явный запуск Активности

Intent intent = new Intent(MyActivity.this, MyOtherActivity.class);

startActivity(intent);

После вызова метода startActivity создастся новая Активность (в данном случае MyOtherActivity), она станет видимой и переместится на вершину стека, содержащего работающие компоненты.

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

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

По теме:

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