Intent'ы, IntentFilter'ы и BackStack Activity

Содержание

Слайд 2

Что такое Intent

Что такое Intent

Слайд 3

Что такое Intent Intent – намерение (англ.) Запустить другое приложение Открыть

Что такое Intent

Intent – намерение (англ.)
Запустить другое приложение
Открыть файл
Перейти на другой

экран
Явные (explicit) и неявные (implicit)
Слайд 4

Из чего состоит Intent Действие – action (ACTION_VIEW, ACTION_EDIT и т.д.)

Из чего состоит Intent

Действие – action (ACTION_VIEW, ACTION_EDIT и т.д.)
Категория –

category (CATEGORY_LAUNCHER, CATEGORY_BROWSABLE)
Данные – data
Дополнительные параметры - extras
Слайд 5

Переход в другое «окно» своего приложения

Переход в другое «окно» своего приложения

Слайд 6

Запуск другого приложения

Запуск другого приложения

Слайд 7

Выбор приложения для запуска

Выбор приложения для запуска

Слайд 8

Запуск сервиса

Запуск сервиса

Слайд 9

Intent Filter

Intent Filter

Слайд 10

Intent Filter Указываются в AndroidManifest.xml activity service receiver

Intent Filter

Указываются в AndroidManifest.xml
activity
service
receiver

Слайд 11

Intent Filter Intent-Filter – это публичный интерфейс activity.

Intent Filter

Intent-Filter – это публичный интерфейс activity.

Слайд 12

Intent Filter Intent-Filter можно не указывать, если в нём нет необходимости.

Intent Filter

Intent-Filter можно не указывать, если в нём нет необходимости.

Слайд 13

Intent Filter BroadcastReceiver можно зарегистрировать в runtime.

Intent Filter

BroadcastReceiver можно зарегистрировать в runtime.

Слайд 14

Tasks и Back Stack

Tasks и Back Stack

Слайд 15

Tasks и Back Stack Activity A Activity B Activity C Task – это стек из Activity.

Tasks и Back Stack

Activity A

Activity B

Activity C

Task – это стек из

Activity.
Слайд 16

Tasks и Back Stack Activity A Activity B В одном таске

Tasks и Back Stack

Activity A

Activity B

В одном таске может быть несколько

Activity одного класса.
Запуск Activity A
Запуск Activity B
Запуск ещё одной Activity A

Activity A

Слайд 17

Tasks и Back Stack Activity A Activity B launchMode=“singleTop” Start Activity

Tasks и Back Stack

Activity A

Activity B

launchMode=“singleTop”
Start Activity A
Start Activity B
Start Activity

B
Start Activity B
Слайд 18

Tasks и Back Stack Task 1 Activity A Activity B launchMode=“singleTask”

Tasks и Back Stack
Task 1

Activity A

Activity B

launchMode=“singleTask”
Start Activity A (singleTask)
Start Activity

B
Start Activity C с флагом NEW_TASK
Start Activity A из Activity C
Task 2

Activity C

Слайд 19

Tasks и Back Stack Запуск в отдельном таске:

Tasks и Back Stack

Запуск в отдельном таске:

Слайд 20

Tasks и Back Stack Task 1 Activity A launchMode=“singleInstance” Start Activity

Tasks и Back Stack
Task 1

Activity A

launchMode=“singleInstance”
Start Activity A (singleInstance)
Start Activity B
Start

Activity C с флагом NEW_TASK
Start Activity A из Activity C
Task 2

Activity B
Task 3

Activity C

Слайд 21

PendingIntent

PendingIntent

Слайд 22

PendingIntent PendingIntent позволяет передать Intent другому процессу для последующего запуска.

PendingIntent

PendingIntent позволяет передать Intent другому процессу для последующего запуска.

Слайд 23

TaskStackBuilder Можем сконструировать стек таска вручную.

TaskStackBuilder

Можем сконструировать стек таска вручную.