Intent, IntentFilter и Activity Back Stack
Что такое Intent
Из чего состоит Intent
Переход в другое «окно» своего приложения
Запуск другого приложения
Выбор приложения для запуска
Запуск сервиса
Intent Filter
Intent Filter
Intent Filter
Intent Filter
Tasks и Back Stack
Tasks и Back Stack
Tasks и Back Stack
Tasks и Back Stack
Tasks и Back Stack
Tasks и Back Stack
PendingIntent
TaskStackBuilder
Спасибо!
1.36M
Категория: ПрограммированиеПрограммирование

Intent'ы, IntentFilter'ы и BackStack Activity

1. Intent, IntentFilter и Activity Back Stack

Евгений Елисеев
Ведущий разработчик, «Лаборатория Касперского»

2.

Что такое Intent

3. Что такое Intent

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

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


Действие – action (ACTION_VIEW, ACTION_EDIT и т.д.)
Категория – category (CATEGORY_LAUNCHER, CATEGORY_BROWSABLE)
Данные – data
Дополнительные параметры - extras
4

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

5

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

6

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

7

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

8

9.

Intent Filter

10. Intent Filter

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

11. Intent Filter

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

12. Intent Filter

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

13. Intent Filter

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

14.

Tasks и Back Stack

15. Tasks и Back Stack

Task – это стек из Activity.
Activity A
B
C
15

16. Tasks и Back Stack

В одном таске может быть несколько Activity одного
класса.
Запуск Activity A
Запуск Activity B
Запуск ещё одной Activity A
16
Activity B
A

17. Tasks и Back Stack

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

18. Tasks и Back Stack

launchMode=“singleTask”
Start Activity A (singleTask)
Start Activity B
Start Activity C с флагом NEW_TASK
Start Activity A из Activity C
18
Activity A
B
Activity C
Task 1
Task 2

19. Tasks и Back Stack

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

20. Tasks и Back Stack

launchMode=“singleInstance”
Start Activity A (singleInstance)
Start Activity B
Start Activity C с флагом NEW_TASK
Start Activity A из Activity C
20
Activity A
Activity B
Activity C
Task 1
Task 2
Task 3

21.

PendingIntent

22. PendingIntent

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

23. TaskStackBuilder

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

24. Спасибо!

СПАСИБО!
Kaspersky Lab HQ
39A/3 Leningradskoe Shosse
Moscow, 125212, Russian Federation
Tel: +7 (495) 797-8700
www.kaspersky.com
English     Русский Правила