В чем разница между Activity getIntent и TaskStackBuilder getIntent ()? - PullRequest
0 голосов
/ 13 марта 2020

Как я прочитал из блога Google post , каждое действие, которое мы начинаем использовать startActivity (), добавляется в задний стек, так что если я попытаюсь получить getIntent () из TaskStackBuilder вместо Activity getIntent (), может у меня такое же намерение?

Я пытаюсь понять задачу и задний стек, пожалуйста, помогите, правильно ли я понял?

1 Ответ

0 голосов
/ 13 марта 2020

Класс утилит для создания синтетических c обратных стеков для навигации между задачами на Android 3.0 и новее.

На уровне API 11 (Android 3.0 / Honeycomb) рекомендуемые соглашения для навигации по приложениям с помощью клавиши Назад изменилось. Поведение клавиши «Назад» является локальным для текущей задачи и не охватывает навигацию по различным задачам. Навигация между задачами и легкое выполнение предыдущей задачи осуществляется с помощью пользовательского интерфейса «последние», доступного через программную клавишу «Последние» на панели навигации или на системной панели. На устройствах с более старой конфигурацией аппаратных кнопок доступ к пользовательскому интерфейсу последних можно получить, нажав и удерживая клавишу Home.

При переходе от одного стека задач к другому после Android 3.0 приложение должно синтезировать заднюю часть. стек / история для новой задачи, чтобы пользователь мог переходить из новой задачи и возвращаться в панель запуска повторными нажатиями клавиши «назад». Нажатие клавиш «назад» не должно перемещаться между стеками задач.

TaskStackBuilder предоставляет обратно-совместимый способ соблюдать правильные соглашения в отношении навигации между задачами в версии платформы устройства. На устройствах, работающих под управлением Android 3.0 или более поздней версии, вызов метода startActivities () или отправка PendingIntent, сгенерированного getPendingIntent (int, int), создаст задний стек syntheti c, как это предписано. На устройствах, работающих под управлением более старых версий платформы, эти же вызовы вызовут наивысшую активность в поставляемом стеке, игнорируя остальную часть синтетического стека c и позволяя клавише назад вернуться к предыдущей задаче.

Activity getIntent () Возвращает намерение, с которого началась эта деятельность.

...