- синтаксис:
<activity android:allowEmbedded=["true" | "false"] android:allowTaskReparenting=["true" | "false"] android:alwaysRetainTaskState=["true" | "false"] android:autoRemoveFromRecents=["true" | "false"] android:banner="drawable resource" android:canDisplayOnRemoteDevices=["true" | "false"] android:clearTaskOnLaunch=["true" | "false"] android:colorMode=[ "hdr" | "wideColorGamut"] android:configChanges=["colorMode", "density", "fontScale", "fontWeightAdjustment", "grammaticalGender", "keyboard", "keyboardHidden", "layoutDirection", "locale", "mcc", "mnc", "navigation", "orientation", "screenLayout", "screenSize", "smallestScreenSize", "touchscreen", "uiMode"] android:directBootAware=["true" | "false"] android:documentLaunchMode=["intoExisting" | "always" | "none" | "never"] android:enabled=["true" | "false"] android:enableOnBackInvokedCallback=["true" | "false"] android:excludeFromRecents=["true" | "false"] android:exported=["true" | "false"] android:finishOnTaskLaunch=["true" | "false"] android:forceQueryable=["true" | "false"] android:hardwareAccelerated=["true" | "false"] android:icon="drawable resource" android:immersive=["true" | "false"] android:intentMatchingFlags=["none" | "enforceIntentFilter" | "allowNullAction"] android:label="string resource" android:launchMode=["standard" | "singleTop" | "singleTask" | "singleInstance" | "singleInstancePerTask"] android:lockTaskMode=["normal" | "never" | "if_whitelisted" | "always"] android:maxRecents="integer" android:maxAspectRatio="float" android:minAspectRatio="float" android:multiprocess=["true" | "false"] android:name="string" android:noHistory=["true" | "false"] android:parentActivityName="string" android:persistableMode=["persistRootOnly" | "persistAcrossReboots" | "persistNever"] android:permission="string" android:preferMinimalPostProcessing=["true" | "false"] android:process="string" android:recreateOnConfigChanges=["colorMode" | "keyboard" | "keyboardHidden" | "mcc" | "mnc" | "navigation" | "touchscreen"] android:relinquishTaskIdentity=["true" | "false"] android:requireContentUriPermissionFromCaller=["none" | "read" | "readAndWrite" | "readOrWrite" | "write"] android:resizeableActivity=["true" | "false"] android:screenOrientation=["unspecified" | "behind" | "landscape" | "portrait" | "reverseLandscape" | "reversePortrait" | "sensorLandscape" | "sensorPortrait" | "userLandscape" | "userPortrait" | "sensor" | "fullSensor" | "nosensor" | "user" | "fullUser" | "locked"] android:showForAllUsers=["true" | "false"] android:stateNotNeeded=["true" | "false"] android:supportsPictureInPicture=["true" | "false"] android:taskAffinity="string" android:theme="resource or theme" android:uiOptions=["none" | "splitActionBarWhenNarrow"] android:windowSoftInputMode=["stateUnspecified", "stateUnchanged", "stateHidden", "stateAlwaysHidden", "stateVisible", "stateAlwaysVisible", "adjustUnspecified", "adjustResize", "adjustPan"] > ... </activity>
- содержится в:
-
<application> - может содержать:
-
<intent-filter>
<meta-data>
<layout>
<property> - описание:
- Объявляет активность (подкласс
Activity), которая реализует часть визуального пользовательского интерфейса приложения. Все активности должны быть представлены элементами<activity>в файле манифеста. Любые активности, не объявленные там, не видны системе и никогда не запускаются. - атрибуты:
-
android:allowEmbedded Указывает на то, что активность может быть запущена как встроенный дочерний элемент другой активности, особенно в случае, когда дочерний элемент находится в контейнере, например, в
Displayпринадлежащем другой активности. Например, активности, используемые для пользовательских уведомлений Wear, объявляют это, чтобы Wear мог отображать активность в своем потоке контекста, который находится в другом процессе.Значение по умолчанию для этого атрибута —
false.-
android:allowTaskReparenting - Утверждение о том, может ли деятельность перейти от задачи, с которой она началась, к задаче, к которой она имеет отношение, когда эта задача в следующий раз окажется в центре внимания, является
"true"и"false"если она остается в рамках задачи, с которой началась.Если этот атрибут не задан, к активности применяется значение, заданное соответствующим атрибутом
allowTaskReparentingэлемента<application>. Значение по умолчанию —"false".Обычно, когда действие запускается, оно связывается с задачей этого действия, и остается в этой связи на протяжении всего своего жизненного цикла. Вы можете использовать этот атрибут, чтобы принудительно переназначить его в качестве дочернего элемента задачи, к которой оно привязано, когда текущая задача больше не отображается. Как правило, это используется для того, чтобы действия приложения перемещались к основной задаче, связанной с этим приложением.
Например, если электронное письмо содержит ссылку на веб-страницу, щелчок по ссылке запускает действие, которое может отобразить эту страницу. Это действие определяется браузерным приложением, но запускается как часть задачи обработки электронного письма. Если оно перенесено в качестве дочернего элемента задачи браузера, оно отображается при следующем появлении браузера на переднем плане и отсутствует при повторном появлении задачи обработки электронного письма.
Привязка активности определяется атрибутом
taskAffinity. Привязка задачи определяется путем считывания привязки ее корневой активности. Следовательно, по определению, корневая активность всегда находится в задаче с той же привязкой. Поскольку активности с режимами запуска"singleTask"или"singleInstance"могут находиться только в корне задачи, изменение родительского элемента ограничено режимами"standard"и"singleTop". (См. также атрибутlaunchMode.) -
android:alwaysRetainTaskState - Указывает, поддерживает ли система состояние задачи, в которой находится данное действие, постоянно.
"true"если поддерживает, и"false"если система может вернуть задачу в исходное состояние в определенных ситуациях. Значение по умолчанию —"false". Этот атрибут имеет смысл только для корневого действия задачи. Для всех остальных действий он игнорируется.Обычно система очищает задачу, удаляя все действия из стека, расположенного выше корневого действия, в определенных ситуациях, когда пользователь повторно выбирает эту задачу на главном экране. Как правило, это происходит, если пользователь не обращался к задаче в течение определенного времени, например, 30 минут.
Однако, когда этот атрибут имеет значение
"true", пользователи всегда возвращаются к задаче в её последнем состоянии, независимо от того, как они туда попали. Это полезно в таких приложениях, как веб-браузер, где хранится много информации о состоянии, например, несколько открытых вкладок, которую пользователи не хотят потерять. -
android:autoRemoveFromRecents - Определяет, остаются ли задачи, запущенные действием с этим атрибутом, на экране «Недавние» до завершения последнего действия в задаче. Если
true, задача автоматически удаляется с экрана «Недавние». Это переопределяет использование вызывающей стороной атрибутаFLAG_ACTIVITY_RETAIN_IN_RECENTS. Он должен быть логическим значением, либо"true", либо"false". -
android:banner - Графический ресурс, предоставляющий расширенный графический баннер для соответствующего элемента. Используйте его с тегом
<activity>для задания баннера по умолчанию для конкретного действия или с тегом<application>для задания баннера для всех действий приложения.Система использует баннер для отображения приложения на главном экране Android TV. Поскольку баннер отображается только на главном экране, он указывается только приложениями, у которых есть активность, обрабатывающая интент
CATEGORY_LEANBACK_LAUNCHER.Этот атрибут устанавливается как ссылка на ресурс drawable, содержащий изображение, например,
"@drawable/banner". Баннера по умолчанию нет.Для получения дополнительной информации см. раздел «Добавление баннера на главный экран» в руководстве «Начало работы с приложениями для ТВ».
-
android:canDisplayOnRemoteDevices Указывает, может ли данное действие отображаться на удаленном устройстве, на котором может работать или не работать Android. Значение должно быть логическим
"true"или"false".Значение по умолчанию для этого атрибута —
"true".-
android:clearTaskOnLaunch - Определяет, удаляются ли все действия из задачи, кроме корневого, при её повторном запуске с главного экрана.
"true"указывает на то, что задача всегда сводится к корневому действию, а"false"— на противоположное. Значение по умолчанию —"false". Этот атрибут имеет смысл только для действий, запускающих новую задачу — корневое действие. Он игнорируется для всех остальных действий в задаче.Если значение равно
"true", то при каждом запуске задачи пользователи возвращаются к её корневому действию независимо от того, что они делали в задаче в последний раз, и независимо от того, использовали ли они кнопку «Назад» или «Домой», чтобы выйти из неё. Если значение равно"false", то в некоторых ситуациях задача может быть очищена от действий, но не всегда. Для получения дополнительной информации см. атрибутalwaysRetainTaskState.Предположим, пользователь запускает действие P с главного экрана, а затем переходит к действию Q. После этого пользователь нажимает кнопку «Главная», а затем возвращается к действию P. Обычно пользователь видит действие Q, поскольку именно его он в последний раз выполнял в задаче P. Однако, если для P установить этот флаг в значение
"true", все действия, расположенные поверх него — в данном случае, Q — удаляются при запуске действия P с главного экрана. Таким образом, при возвращении к задаче пользователь видит только P.Если этот атрибут и
allowTaskReparentingоба имеют"true", все действия, которые можно переназначить в качестве родительских, перемещаются в задачу, с которой они имеют общую привязку. Оставшиеся действия затем удаляются.Этот атрибут игнорируется, если
FLAG_ACTIVITY_RESET_TASK_IF_NEEDEDне установлен. -
android:colorMode Задает цветовой режим активности. Если указан, может принимать значения
hdrилиwideColorGamut.Если
hdr, запрашивается отображение активности в режиме расширенного динамического диапазона, если устройство его поддерживает.Если
wideColorGamutзадан, это означает, что действие должно отображаться в режиме расширенного цветового охвата на совместимых устройствах. В режиме расширенного цветового охвата окно может отображаться за пределами цветового охватаSRGBдля более ярких цветов. Если устройство не поддерживает отображение в режиме расширенного цветового охвата, этот атрибут не оказывает никакого эффекта. Дополнительную информацию об отображении в режиме расширенного цветового охвата см. в разделе «Улучшение графики с помощью контента в расширенном цветовом охвате» .-
android:configChanges - Этот атрибут перечисляет изменения конфигурации, которые активность обрабатывает самостоятельно. При изменении конфигурации во время выполнения активность по умолчанию завершает работу и перезапускается, но объявление конфигурации с этим атрибутом предотвращает перезапуск активности. Вместо этого активность продолжает работать, и вызывается её метод
onConfigurationChanged().Примечание: Используйте этот атрибут только в особых случаях для повышения производительности и быстродействия приложения. Дополнительную информацию см. в разделе «Обработка изменений конфигурации» .
Следующие строки являются допустимыми значениями для этого атрибута. Несколько значений разделяются символом
|, например,"locale|navigation|orientation".Ценить Описание "colorMode"Изменились возможности цветового режима экрана (цветовая гамма или динамический диапазон).
Примечание: Цветовой режим, запрашиваемый действием с помощью атрибута
colorModeили во время выполнения, отличается от возможностей использования других цветовых режимов. Изменение используемого цветового режима действием не приводит к изменению конфигурации, поскольку цветовые возможности дисплея не изменяются."density"Теперь активна возможность изменения плотности отображения, например, когда пользователь задает другой масштаб отображения или другой тип отображения.
Добавлено в API уровня 24 .
"fontScale"Изменение коэффициента масштабирования шрифта, например, когда пользователь выбирает новый общий размер шрифта. "fontWeightAdjustment"Изменилось значение увеличения толщины шрифта. "grammaticalGender"Грамматический род языка изменился. См. GrammaticalInflectionManager.Добавлено в API уровня 34 .
"keyboard"Изменение типа клавиатуры, например, при подключении пользователем внешней клавиатуры. "keyboardHidden"Изменение параметров доступности клавиатуры, например, когда пользователь открывает аппаратную клавиатуру. "layoutDirection"Изменение направления расположения элементов, например, с левого на правое (LTR) на правое налево (RTL).
Добавлено в API уровня 17 .
"locale"Изменение языковых настроек, например, когда пользователь выбирает новый язык, на котором отображается текст. "mcc"Изменение кода страны мобильной связи IMSI (MCC) при обнаружении SIM-карты, которое обновляет MCC. "mnc"Изменение кода мобильной сети IMSI (MNC) при обнаружении SIM-карты, которое обновляет код MNC. "navigation"TA переключается на тип навигации (трекбол или D-pad). Обычно этого не происходит. "orientation"Изменение ориентации экрана, например, при повороте устройства пользователем.
Примечание: Если ваше приложение ориентировано на Android 3.2 (уровень API 13) или выше, также укажите параметры
"screenLayout"и"screenSize", поскольку расположение элементов на экране и размер экрана могут изменяться при переключении устройства между портретной и альбомной ориентацией."screenLayout"Изменение расположения элементов на экране, например, при активации другого дисплея. "screenSize"Изменение текущего доступного размера экрана.
Это отражает изменение доступного в данный момент размера относительно текущего соотношения сторон, поэтому оно меняется при переключении пользователя между альбомной и портретной ориентацией.
Добавлено в API уровня 13 .
"smallestScreenSize"Изменение физического размера экрана.
Это означает изменение размера независимо от ориентации, поэтому оно изменяется только при изменении фактического физического размера экрана, например, при переключении на внешний дисплей. Изменение этой конфигурации соответствует изменению конфигурации
smallestWidth.Добавлено в API уровня 13 .
"touchscreen"Переход в режим сенсорного экрана, например, при подключении или отключении пользователем устройства ввода или при перемещении приложения между различными дисплеями. "uiMode"Изменение режима пользовательского интерфейса, например, когда пользователь размещает устройство на столе или автомобильной подставке, или когда изменяется ночной режим. Для получения дополнительной информации о различных режимах пользовательского интерфейса см. UiModeManager.Добавлено в API уровня 8 .
Все эти изменения конфигурации могут повлиять на значения ресурсов, видимые приложению. Поэтому при вызове
onConfigurationChanged()обычно необходимо повторно получить все ресурсы, включая макеты представлений и изображения, чтобы корректно обработать изменение.Примечание: Для обработки изменений конфигурации, связанных с многооконным режимом , используйте как
"screenLayout", так и"smallestScreenSize". Многооконный режим поддерживается в Android 7.0 (уровень API 24) или выше. -
android:directBootAware Учитывается ли возможность запуска данной операции через Direct-Boot — то есть, может ли она выполняться до разблокировки устройства пользователем.
Примечание: Во время прямой загрузки приложение может получить доступ только к данным, хранящимся в защищенном хранилище устройства .
Значение по умолчанию —
"false".-
android:documentLaunchMode - Определяет, как новый экземпляр действия добавляется к задаче каждый раз при её запуске. Этот атрибут позволяет пользователю отображать несколько документов из одного и того же приложения на экране «Недавние» .
Этот атрибут имеет четыре значения, которые приводят к следующим эффектам при открытии пользователем документа в приложении:
Ценить Описание "intoExisting"Система ищет задачу, у которой ComponentNameи data URI базового интента совпадают с таковыми у запускающего интента. Если система находит такую задачу, она очищает задачу и перезапускает ее, при этом корневая активность получает вызовonNewIntent(android.content.Intent). Если система не находит такую задачу, она создает новую задачу."always"Данное действие создает новую задачу для документа, даже если документ уже открыт. Это эквивалентно установке флагов FLAG_ACTIVITY_NEW_DOCUMENTиFLAG_ACTIVITY_MULTIPLE_TASK."none"Для этой активности не создается новая задача. Это значение по умолчанию, которое создает новую задачу только при установке параметра FLAG_ACTIVITY_NEW_TASK. На экране «Недавние» активность обрабатывается так же, как и по умолчанию: отображается одна задача для приложения, которая возобновляется с той активности, которую пользователь запустил в последний раз."never"Действие не запускается в новом документе, даже если в намерении указан флаг FLAG_ACTIVITY_NEW_DOCUMENT. Установка этого флага переопределяет поведение флаговFLAG_ACTIVITY_NEW_DOCUMENTиFLAG_ACTIVITY_MULTIPLE_TASK, если таковые установлены в действии, и на экране «Недавние» отображается одна задача для приложения, которая возобновляется с того действия, которое пользователь запустил последним.Примечание: Для значений, отличных от
"none"и"never", активность определяется с помощьюlaunchMode="standard". Если этот атрибут не указан, используетсяdocumentLaunchMode="none". -
android:enabled - Указывает, может ли система инициализировать данную активность. Если может, значение
"false""true"если нет. Значение по умолчанию -"true".Элемент
<application>имеет собственный атрибутenabled, который применяется ко всем компонентам приложения, включая активности. Для того чтобы система могла создать экземпляр активности, атрибуты<application>и<activity>должны быть оба равны"true", как это и происходит по умолчанию. Если хотя бы один из них равен"false", создание экземпляра невозможно. -
android:enableOnBackInvokedCallback Этот флаг позволяет отключить анимацию, создаваемую системой прогнозирования, на уровне отдельного действия.
Установите параметр
android:enableOnBackInvokedCallback=false, чтобы отключить анимацию возврата по умолчанию на уровне активности и указать системе игнорировать вызовы API платформыOnBackInvokedCallback.-
android:excludeFromRecents Указывает, исключается ли задача, инициированная этим действием, из списка последних приложений . То есть, если это действие является корневым действием для новой задачи, этот атрибут определяет, отображается ли задача в списке последних приложений. Значение
"true"означает, что задача исключена из списка;"false"— что она включена . Значение по умолчанию —"false".-
android:exported Можно ли запустить данную функцию компонентами других приложений:
- Если
"true", то активность доступна любому приложению и может быть запущена по точному имени класса. - Если значение
"false", то действие может быть запущено только компонентами одного и того же приложения, приложениями с одинаковым идентификатором пользователя или привилегированными системными компонентами. Это значение по умолчанию, если отсутствуют фильтры намерений.
Если в вашем приложении есть активность, использующая фильтры намерений, установите для этого элемента значение
"true"чтобы другие приложения могли её запускать. Например, если активность является основной активностью приложения и включаетcategoryandroid.intent.category.LAUNCHER.Если для этого элемента установлено значение
"false", и приложение пытается запустить активность, система выдает исключениеActivityNotFoundException.Этот атрибут — не единственный способ ограничить доступ к активности для других приложений. Разрешения также используются для ограничения внешних объектов, которые могут вызывать эту активность. См. атрибут
permission.- Если
-
android:finishOnTaskLaunch - Определяет, завершается ли существующий экземпляр активности, за исключением корневой активности, при повторном запуске пользователем задачи путем выбора задачи на главном экране. Значение равно
"true"если активность завершена, и"false"если нет. Значение по умолчанию —"false".Если этот атрибут и
allowTaskReparentingоба имеют значение"true", то этот атрибут имеет приоритет над другим. Принадлежность активности игнорируется. Активность не переподчиняется, а уничтожается.Этот атрибут игнорируется, если
FLAG_ACTIVITY_RESET_TASK_IF_NEEDEDне установлен. -
android:forceQueryable Указывает, будет ли эта активность видна всем остальным приложениям на устройстве, минуя обычные ограничения видимости пакетов.
Значение по умолчанию —
"false".Для получения более подробной информации см. руководство по автоматической фильтрации видимости пакетов .
-
android:hardwareAccelerated - Включено ли аппаратное ускорение рендеринга для этой активности.
"true", если включено, и"false"если нет. Значение по умолчанию -"false".В Android 3.0 и выше приложениям доступен аппаратный ускоритель рендеринга OpenGL, повышающий производительность многих распространенных операций с 2D-графикой. При включении аппаратного ускорителя рендеринга большинство операций в Canvas, Paint, Xfermode, ColorFilter, Shader и Camera ускоряются.
Это приводит к более плавной анимации, более плавной прокрутке и улучшенной отзывчивости в целом, даже для приложений, которые явно не используют библиотеки OpenGL фреймворка. Из-за увеличения ресурсов, необходимых для включения аппаратного ускорения, ваше приложение потребляет больше оперативной памяти.
Не все операции OpenGL 2D ускоряются. Если вы включите аппаратное ускорение рендеринга, проверьте, может ли ваше приложение использовать этот рендерер без ошибок.
-
android:icon Значок, представляющий активность. Значок отображается пользователям, когда требуется отображение активности на экране. Например, значки для активностей, запускающих задачи, отображаются в окне запуска. Значок часто сопровождается подписью; информацию о подписи см. в атрибуте
android:label.Этот атрибут устанавливается как ссылка на ресурс drawable, содержащий определение изображения. Если он не установлен, вместо него используется значок, указанный для всего приложения. Для получения дополнительной информации см. атрибут
iconэлемента<application>.Значок активности, заданный здесь или элементом
<application>, также является значком по умолчанию для всех фильтров намерений этой активности. Для получения дополнительной информации см. атрибутiconэлемента<intent-filter>.-
android:immersive - Устанавливает режим погружения для текущей активности. Если значение равно
"true", то битFLAG_IMMERSIVEв элементеActivityInfo.flagsвсегда будет установлен, даже если режим погружения изменится во время выполнения с помощью методаsetImmersive(). -
android:intentMatchingFlags Используйте этот атрибут для точной настройки сопоставления входящих интентов с компонентами приложения. По умолчанию специальные правила сопоставления не применяются.
Значение, установленное в теге
<activity>, переопределяет значение, установленное в теге<application>.Значение должно представлять собой один или несколько из следующих флагов, разделенных символом '
|':Флаг Описание noneОтключает все специальные правила сопоставления для входящих интентов. При указании нескольких флагов конфликтующие значения разрешаются путем отдачи приоритета флагу none.enforceIntentFilterПрименяет более строгий контроль за соответствием входящих запросов:
- Явные намерения должны соответствовать фильтру намерений целевого компонента.
- Интенты без действия не соответствуют ни одному фильтру интентов.
allowNullActionСмягчает правила сопоставления, позволяя сопоставлять намерения без действия. Этот флаг используется совместно с
enforceIntentFilterдля достижения следующего поведения:- Явные намерения должны соответствовать фильтру намерений целевого компонента.
- Намерения, не содержащие конкретного действия, могут соответствовать любому фильтру намерений.
Для получения дополнительной информации см. раздел «Безопасные намерения» в описании изменений в поведении Android 16 (уровень API 36).
-
android:label Удобочитаемая пользователем метка для активности. Метка отображается на экране, когда активность представляется пользователю. Часто она отображается вместе со значком активности. Если этот атрибут не задан, используется метка, заданная для всего приложения. См. атрибут
labelэлемента<application>.Метка действия, заданная здесь или элементом
<application>, также является меткой по умолчанию для всех фильтров намерений этого действия. Для получения дополнительной информации см. атрибутlabelэлемента<intent-filter>.Метка устанавливается как ссылка на строковый ресурс, чтобы её можно было локализовать, как и другие строки в пользовательском интерфейсе. Однако, для удобства при разработке приложения, её также можно установить как обычную строку.
-
android:launchMode Инструкция по запуску активности. Существует пять режимов, которые работают совместно с флагами активности (константами
FLAG_ACTIVITY_*) в объектахIntent, определяя, что происходит при вызове активности для обработки Intent:"standard"
"singleTop"
"singleTask"
"singleInstance"
"singleInstancePerTask"Режим по умолчанию —
"standard".Как показано в следующей таблице, режимы делятся на две основные группы: с одной стороны — действия
"standard"и"singleTop", а с другой — действия"singleTask","singleInstance"и"singleInstancePerTask". Действие с режимом запуска"standard"или"singleTop"может быть запущено несколько раз.Экземпляры могут принадлежать любой задаче и располагаться в любом месте задачи активности. Как правило, они запускаются в задачу, вызвавшую
startActivity(), если только объектIntentне содержит инструкциюFLAG_ACTIVITY_NEW_TASK, в этом случае выбирается другая задача. Для получения дополнительной информации см. атрибутtaskAffinity.В отличие от них, действия
"singleTask","singleInstance"и"singleInstancePerTask"имеют различное поведение. Действие"singleInstancePerTask"всегда находится в корне задачи. Кроме того, устройство может содержать только один экземпляр действия"singleInstance"одновременно, в то время как действие"singleInstancePerTaskможет быть создано несколько раз в разных задачах, если установленFLAG_ACTIVITY_MULTIPLE_TASKилиFLAG_ACTIVITY_NEW_DOCUMENT.Активность с режимом запуска
"singleTask"сочетает в себе поведение режимов"singleInstance"и"singleInstancePerTask": активность может быть создана несколько раз и может располагаться в любом месте задачи с одинаковымtaskAffinity. Однако устройство может содержать только одну задачу для размещения активности"singleTask"в корневой области задачи активности.Режимы
"standard"и"singleTop"отличаются друг от друга одним аспектом: каждый раз, когда для"standard"действия появляется новое намерение, создается новый экземпляр класса для обработки этого намерения. Каждый экземпляр обрабатывает одно намерение. Аналогично, для обработки нового намерения можно также создать новый экземпляр действия"singleTop".Однако, если в целевой задаче уже есть существующий экземпляр активности на вершине стека, этот экземпляр получает новый интент в вызове
onNewIntent(). Новый экземпляр не создается. В противном случае — если существующий экземпляр активности"singleTop"находится в целевой задаче, но не на вершине стека, или если он находится на вершине стека, но не в целевой задаче — создается новый экземпляр и помещается в стек.Аналогично, если пользователь переходит к активности в текущем стеке, поведение определяется режимом запуска родительской активности. Если родительская активность имеет режим запуска
singleTop(или намерениеupсодержитFLAG_ACTIVITY_CLEAR_TOP), родительская активность перемещается на вершину стека, и её состояние сохраняется.Навигационный интент принимается методом
onNewIntent()родительской активности. Если родительская активность имеет режим запускаstandard, и интентupне содержитFLAG_ACTIVITY_CLEAR_TOP, текущая активность и её родительская активность удаляются из стека, и создаётся новый экземпляр родительской активности для получения навигационного интента.Режим
"singleInstance"отличается от"singleTask"и"singleInstancePerTask"только одним аспектом: действие с режимом запуска"singleTask"или"singleInstancePerTask"позволяет другим действиям, обязательно"standard"и"singleTop", быть частью его задачи.С другой стороны, действие типа
"singleInstance"не допускает включения других действий в свою задачу. Оно должно быть единственным действием в задаче. Если оно запускает другое действие, это действие назначается другой задаче, как если бы в намерении присутствовалFLAG_ACTIVITY_NEW_TASK.Варианты использования Режим запуска Несколько случаев? Комментарии Обычный запуск большинства мероприятий. "standard"Да По умолчанию. Система всегда создает новый экземпляр действия в целевой задаче и перенаправляет намерение к нему. "singleTop"Условно Если экземпляр активности уже существует в верхней части целевой задачи, система перенаправляет намерение к этому экземпляру посредством вызова его метода onNewIntent(), вместо создания нового экземпляра активности.Специализированные запуски
(не рекомендуется для общего использования)"singleTask"Условно Система создает активность в корне новой задачи или размещает активность в существующей задаче с той же привязкой. Если экземпляр активности уже существует и находится в корне задачи, система перенаправляет запрос к существующему экземпляру посредством вызова метода onNewIntent(), вместо создания нового экземпляра."singleInstance"Нет Аналогично "singleTask", за исключением того, что система не запускает никаких других действий в задачу, содержащую экземпляр. Действие всегда является единственным и единственным членом своей задачи."singleInstancePerTask"Условно Данная активность может выполняться только как корневая активность задачи, то есть как первая активность, создавшая задачу, и, следовательно, в задаче существует только один экземпляр этой активности. Однако активность может быть создана несколько раз в разных задачах. Как показано в предыдущей таблице,
"standard"— это режим по умолчанию, подходящий для большинства типов действий."singleTop"также является распространенным и полезным режимом запуска для многих типов действий. Другие режимы,"singleTask","singleInstance"и"singleInstancePerTask", не подходят для большинства приложений. Они приводят к модели взаимодействия, которая, вероятно, будет незнакома пользователям и сильно отличается от большинства других приложений.Независимо от выбранного режима запуска, обязательно проверьте удобство использования активности во время запуска, а также при возвращении к ней из других активностей и задач с помощью кнопки «Назад».
Для получения дополнительной информации о режимах запуска и их взаимодействии с флагами
Intentсм. раздел «Задачи и стек возврата» .-
android:lockTaskMode - Определяет, как система отображает эту активность, когда устройство работает в режиме блокировки задач .
В Android задачи могут выполняться в режиме, напоминающем киоск, — режиме блокировки задач. Когда система работает в режиме блокировки задач, пользователи устройства обычно не могут видеть уведомления, получать доступ к приложениям, не включенным в список разрешенных, или возвращаться на главный экран, если приложение «Дом» не включено в этот список.
В режиме блокировки задач могут работать только приложения, разрешенные контроллером политики устройства (DPC). Однако системные и привилегированные приложения могут работать в режиме блокировки задач без внесения их в список разрешенных.
В качестве значения может использоваться любое из следующих строковых значений
R.attr.lockTaskMode:Ценить Описание "normal"Значение по умолчанию. Это значение по умолчанию. Задачи не запускаются в режиме блокировки, но могут быть переведены в этот режим путем вызова startLockTask()."never"Задачи не запускаются в режиме
lockTask, и пользователь устройства не может закрепить эти задачи на экране «Недавние».Примечание: Этот режим доступен только системным и привилегированным приложениям. Непривилегированные приложения с этим значением обрабатываются как
normal."if_whitelisted"Если DPC авторизует этот пакет с помощью DevicePolicyManager.setLockTaskPackages(), то этот режим идентичен режиму "always, за исключением того, что если это последняя заблокированная задача, то перед ее завершением необходимо вызватьstopLockTask(). Если DPC не авторизует этот пакет, то этот режим идентиченnormal."always"Задачи, связанные с этой активностью, всегда запускаются в режиме блокировки задач. Если система уже находится в режиме блокировки задач при запуске этой задачи, то новая задача запускается поверх текущей. Задачи, запущенные в этом режиме, могут выйти из режима блокировки задач, вызвав
finish().Примечание: Этот режим доступен только системным и привилегированным приложениям. Непривилегированные приложения с этим значением обрабатываются как
normal.Этот атрибут был введен в API уровня 23.
-
android:maxRecents - Максимальное количество задач, связанных с данной активностью, на экране «Недавние» . При достижении этого количества записей система удаляет наименее недавно использованный экземпляр с экрана «Недавние». Допустимые значения — целые числа от 1 до 50 или от 1 до 25 на устройствах с малым объемом памяти. Ноль — недопустимое значение. Значение по умолчанию — 16.
-
android:maxAspectRatio Максимальное соотношение сторон, поддерживаемое данной активностью.
Если приложение работает на устройстве с более широким соотношением сторон, система автоматически уменьшает изображение, оставляя некоторые участки экрана незанятыми, чтобы приложение могло работать с заданным максимальным соотношением сторон.
Максимальное соотношение сторон выражается в десятичной форме как частное от деления большей длины устройства на его меньшую длину. Например, если максимальное соотношение сторон равно 7:3, установите значение этого параметра равным 2,33.
На устройствах, не являющихся носимыми, значение этого атрибута должно быть равно 1,33 или больше. На носимых устройствах оно должно быть равно 1,0 или больше. В противном случае система игнорирует установленное значение.
Для получения более подробной информации об этом атрибуте см. R.attr.maxAspectRatio .
-
android:minAspectRatio Минимальное соотношение сторон, поддерживаемое данным видом деятельности.
Если приложение работает на устройстве с более узким соотношением сторон, система автоматически уменьшает изображение, оставляя часть экрана незанятой, чтобы приложение могло работать с заданным минимальным соотношением сторон.
Минимальное соотношение сторон выражается в десятичной форме как частное от деления большей длины устройства на его меньшую длину. Например, если соотношение сторон дисплея составляет 4:3, установите минимальное значение соотношения сторон равным 1,33.
Значение должно быть больше или равно 1,0, в противном случае система игнорирует установленное значение.
Для получения более подробной информации об этом атрибуте см. R.attr.minAspectRatio .
-
android:multiprocess - Указывает, можно ли запустить экземпляр активности в процесс компонента, который её запустил. Если это возможно, значение равно
"true", если нет —"false". Значение по умолчанию —"false".Обычно новый экземпляр действия запускается в процессе приложения, которое его определило, поэтому все экземпляры действия работают в одном процессе. Однако, если этот флаг установлен в значение
"true", экземпляры действия могут работать в нескольких процессах, позволяя системе создавать экземпляры везде, где они используются, при условии, что это позволяют права доступа — что почти никогда не является необходимым или желательным. -
android:name - Имя класса, реализующего действие, является подклассом класса
Activity. Значение атрибута обычно представляет собой полное имя класса, например,"com.example.project.ExtracurricularActivity". Однако, в качестве сокращения, если первый символ имени — точка, например,".ExtracurricularActivity", он добавляется к пространству имен, указанному в файлеbuild.gradle.После публикации приложения не меняйте это имя , если только не установите
android:exported ="false". Значения по умолчанию отсутствуют. Имя необходимо указать. -
android:noHistory - Whether the activity is removed from the activity stack and finished, by calling its
finish()method, when the user navigates away from it and it's no longer visible on screen. It's"true"if it is finished, and"false"if not. The default value is"false".A value of
"true"means that the activity doesn't leave a historical trace. It doesn't remain in the activity stack for the task, so the user isn't able to return to it. In this case,onActivityResult()is never called if you start another activity for a result from this activity.This attribute was introduced in API level 3.
-
android:parentActivityName - The class name of the logical parent of the activity. The name here must match the class name given to the corresponding
<activity>element'sandroid:nameattribute.The system reads this attribute to determine which activity to start when the user taps the Up button in the action bar. The system can also use this information to synthesize a back stack of activities with
TaskStackBuilder.To support API levels 4 - 16, you can also declare the parent activity with a
<meta-data>element that specifies a value for"android.support.PARENT_ACTIVITY":<activity android:name="com.example.app.ChildActivity" android:label="@string/title_child_activity" android:parentActivityName="com.example.app.MainActivity" > <!-- Parent activity meta-data to support API level 4+ --> <meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.app.MainActivity" /> </activity>
For more information about declaring the parent activity to support Up navigation, read Providing Up Navigation .
This attribute was introduced in API level 16.
-
android:persistableMode Defines how an instance of an activity is preserved within a containing task across device restarts.
If the root activity of a task sets this attribute's value to
persistRootOnly, then only the root activity is preserved. Otherwise, the activities that are higher up the task's back stack are examined; any of these activities that set this attribute's value topersistAcrossRebootsare preserved.If you use this attribute, you must set its value to one of the following:
Ценить Описание persistRootOnlyDefault value. When the system restarts, the activity task is preserved, but only the root activity's launching intent is used.
When your app's launching intent loads your app's root activity, the activity doesn't receive a
PersistableBundleobject. Therefore, don't useonSaveInstanceState()to preserve the state of your app's root activity across a device restart.Note: This attribute value affects your app's behavior only if it's set on your app's root activity.
persistAcrossRebootsThis activity's state is preserved, along with the state of each activity higher up the back stack that has its own
persistableModeattribute set topersistAcrossReboots. If an activity doesn't have apersistableModeattribute that is set topersistAcrossReboots, or if it's launched using theIntent.FLAG_ACTIVITY_NEW_DOCUMENTflag, then that activity, along with all activities higher up the back stack, aren't preserved.When an intent loads an activity whose
persistableModeattribute is set topersistAcrossRebootsin your app, the activity receives aPersistableBundleobject in itsonCreate()method. Therefore, you can useonSaveInstanceState()to preserve the state of an activity across a device restart as long as itspersistableModeattribute is set topersistAcrossReboots.Note: This attribute value affects your app's behavior even if it's set on an activity other than your app's root activity.
persistNeverThe activity's state isn't preserved.
Note: This attribute value affects your app's behavior only if it's set on your app's root activity.
This attribute was introduced in API level 21.
-
android:permission - The name of a permission that clients must have to launch the activity or otherwise get it to respond to an intent. If a caller of
startActivity()orstartActivityForResult()isn't granted the specified permission, its intent isn't delivered to the activity.If this attribute isn't set, the permission set by the
<application>element'spermissionattribute applies to the activity. If neither attribute is set, the activity isn't protected by a permission.For more information on permissions, see the Permissions section of the App manifest overview and Security tips .
-
android:preferMinimalPostProcessing Specifies whether the activity prefers the connected display to perform minimal post-processing (also known as auto low latency mode or game mode). This setting is useful for applications like games or video conferencing where low latency is more important than image enhancement.
The default value is
"false".For more information, see the guide on requesting and checking for low latency support .
-
android:process The name of the process in which the activity runs. Normally, all components of an application run in a default process name created for the application, and you don't need to use this attribute. But if necessary, you can override the default process name with this attribute, letting you spread your app components across multiple processes.
If the name assigned to this attribute begins with a colon (
:), a new process, private to the application, is created when it's needed and the activity runs in that process.If the process name begins with a lowercase character, the activity runs in a global process of that name, provided that it has permission to do so. This lets components in different applications share a process, reducing resource usage.
The
<application>element'sprocessattribute can set a different default process name for all components.-
android:recreateOnConfigChanges Specifies the configuration changes that should trigger the system to recreate the activity. If a configuration change is specified here (and not in
android:configChanges), the activity is recreated when that change occurs.For more information, see the guide on recreating an activity on configuration changes .
-
android:relinquishTaskIdentity Whether the activity relinquishes its task identifiers to an activity above it in the task stack. A task whose root activity has this attribute set to
"true"replaces the baseIntentwith that of the next activity in the task.If the next activity also has this attribute set to
"true"then it yields the baseIntentto any activity that it launches in the same task. This continues for each activity until an activity is encountered which has this attribute set to"false". The default value is"false".This attribute set to
"true"also permits the activity's use of theActivityManager.TaskDescriptionto change labels, colors, and icons in the Recents screen .-
android:requireContentUriPermissionFromCaller Specifies permissions necessary to launch this activity when passing content URIs. The default value is
none, meaning no specific permissions are required. Setting this attribute restricts activity invocation based on the invoker's permissions. If the invoker doesn't have the required permissions, the activity start will be denied via aSecurityException.Note that the enforcement works for content URIs inside
Intent.getData(),Intent.EXTRA_STREAM, andIntent.getClipData().May be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character;
Must be one of the following constant values.
Постоянный Ценить Описание никто 0 Default, no specific permissions are required. читать 1 Enforces the invoker to have read access to the passed content URIs. readAndWrite 4 Enforces the invoker to have both read and write access to the passed content URIs. readOrWrite 3 Enforces the invoker to have either read or write access to the passed content URIs. писать 2 Enforces the invoker to have write access to the passed content URIs. -
android:resizeableActivity Specifies whether the app supports multi-window mode .
You can set this attribute in either the
<activity>or<application>element.If you set this attribute to
"true", the user can launch the activity in split-screen and free-form modes. If you set the attribute to"false", the app can't be tested or optimized for a multi-window environment. The system can still put the activity in multi-window mode with compatibility mode applied.Setting this attribute to
"false"doesn't guarantee that there are no other apps in multi-window mode visible on screen, such as in a picture-in-picture, or on other displays. Therefore, setting this flag doesn't mean that your app has exclusive resource access.If your app targets API level 24 or higher and you do not specify a value for this attribute, the attribute's value defaults to
"true".If your app targets API level 31 or higher, this attribute works differently on small and large screens:
- Large screens (sw >= 600dp): all apps support multi-window mode. The attribute indicates whether an app can be resized, not whether the app supports multi-window mode. If
resizeableActivity="false", the app is put into compatibility mode when necessary to conform to display dimensions. - Small screens (sw < 600dp): if
resizeableActivity="true"and the minimum width and minimum height of the activity are within the multi-window requirements, the app supports multi-window mode. IfresizeableActivity="false", the app doesn't support multi-window mode regardless of the activity minimum width and height.
A task's root activity value is applied to all additional activities launched in the task. That is, if the root activity of a task is resizable, then the system treats all other activities in the task as resizable. If the root activity isn't resizable, the other activities in the task aren't resizable.
Note: A task's root activity value is applied to all additional activities launched in the task. That is, if the root activity of a task is resizable, then the system treats all other activities in the task as resizable. If the root activity isn't resizable, the other activities in the task aren't resizable.
- Large screens (sw >= 600dp): all apps support multi-window mode. The attribute indicates whether an app can be resized, not whether the app supports multi-window mode. If
-
android:screenOrientation The requested orientation of the activity.
When an activity fills the entire screen, the requested orientation acts as a suggestion to change the orientation on that screen to match the requested value. This can result in an orientation that differs from the screen's physical orientation in space, requiring the user to rotate the device to continue using the app. On Android 12 (API level 31) and higher, device manufacturers can configure individual device screens (such as the tablet-sized screen of a foldable) to ignore this suggestion, and instead force an activity to be letterboxed within the user's preferred orientation of the device. This results in the activity's orientation matching the requested one without needing the user to physically rotate their device.
In multi-window mode, the requested orientation does not act as a suggestion for the overall orientation. If the activity is letterboxed , the requested orientation impacts the letterboxing applied to the activity.
The value can be any one of the following strings:
"unspecified"The default value. The system chooses the orientation. The policy it uses, and therefore the choices made in specific contexts, might differ from device to device. "behind"The same orientation as the activity that's immediately beneath it in the activity stack. "landscape"Landscape orientation (the display is wider than it is tall). "portrait"Portrait orientation (the display is taller than it is wide). "reverseLandscape"Landscape orientation in the opposite direction from normal landscape. Added in API level 9. "reversePortrait"Portrait orientation in the opposite direction from normal portrait. Added in API level 9. "sensorLandscape"Landscape orientation, but can be either normal or reverse landscape based on the device sensor. The sensor is used even if the user has locked sensor-based rotation. Added in API level 9. "sensorPortrait"Portrait orientation, but can be either normal or reverse portrait based on the device sensor. The sensor is used even if the user has locked sensor-based rotation. However, depending on the device configuration, upside-down rotation might not be allowed. Added in API level 9. "userLandscape"Landscape orientation, but can be either normal or reverse landscape based on the device sensor and the user's preference. Added in API level 18. "userPortrait"Portrait orientation, but can be either normal or reverse portrait based on the device sensor and the user's preference. However, depending on the device configuration, upside-down rotation might not be allowed. Added in API level 18. "sensor"The device orientation sensor determines the orientation. The orientation of the display depends on how the user is holding the device. It changes when the user rotates the device. Some devices, though, don't rotate to all four possible orientations, by default. To use all four orientations, use "fullSensor". The sensor is used even if the user locked sensor-based rotation."fullSensor"The device orientation sensor determines the orientation for any of the four orientations. This is similar to "sensor", except this allows for any of the four possible screen orientations regardless of what the device normally supports. For example, some devices don't normally use reverse portrait or reverse landscape, but this enables those orientations. Added in API level 9."nosensor"The orientation is determined without reference to a physical orientation sensor. The sensor is ignored, so the display doesn't rotate based on how the user moves the device. "user"The user's current preferred orientation. "fullUser"If the user has locked sensor-based rotation, this behaves the same as user, otherwise it behaves the same asfullSensorand allows any of the four possible screen orientations. Added in API level 18."locked"Locks the orientation to its current rotation, whatever that is. Added in API level 18. Note: When you declare one of the landscape or portrait values, it is considered a hard requirement for the orientation in which the activity runs. The value you declare enables filtering by services such as Google Play, so your application is available only to devices that support the orientation required by your activities. For example, if you declare either
"landscape","reverseLandscape", or"sensorLandscape", then your application is available only to devices that support landscape orientation.Also explicitly declare that your application requires either portrait or landscape orientation with the
<uses-feature>Element, such as<uses-feature android:name="android.hardware.screen.portrait"/>. This is a filtering behavior provided by Google Play and other services that support it, and the platform itself doesn't control whether your app can install when a device supports only certain orientations.-
android:showForAllUsers Whether the activity is shown when the device's current user is different than the user who launched the activity. You can set this attribute to a literal value, like
"true"or"false", or you can set the attribute to a resource or theme attribute that contains a boolean value.This attribute was added in API level 23.
-
android:stateNotNeeded - Whether the activity can be terminated and successfully restarted without having saved its state. It's
"true"if it can be restarted without reference to its previous state, and"false"if its previous state is required. The default value is"false".Normally, before an activity is temporarily shut down to save resources, its
onSaveInstanceState()method is called. This method stores the current state of the activity in aBundleobject, which is then passed toonCreate()when the activity is restarted. If this attribute is set to"true",onSaveInstanceState()might not be called, andonCreate()is passednullinstead of theBundle, as it is when the activity starts for the first time.A
"true"setting means that the activity can be restarted without retained state. For example, the activity that displays the Home screen uses this setting to make sure that it doesn't get removed if it crashes for some reason. -
android:supportsPictureInPicture Specifies whether the activity supports picture-in-picture display.
-
android:taskAffinity The task that the activity has an affinity for. Activities with the same affinity conceptually belong to the same task, to the same "application" from the user's perspective. The affinity of a task is determined by the affinity of its root activity.
The affinity determines two things: the task that the activity is re-parented to (see the
allowTaskReparentingattribute) and the task that houses the activity when it launches with theFLAG_ACTIVITY_NEW_TASKflag.By default, all activities in an application have the same affinity. You can set this attribute to group them differently, and even place activities defined in different applications within the same task. To specify that the activity doesn't have an affinity for any task, set it to an empty string.
If this attribute isn't set, the activity inherits the affinity set for the application. See the
<application>element'staskAffinityattribute. The name of the default affinity for an application is the namespace set in thebuild.gradlefile.-
android:theme - A reference to a style resource defining an overall theme for the activity. This automatically sets the activity's context to use this
themeand might also cause "starting" animations prior to the activity being launched, to better match what the activity actually looks like.If this attribute isn't set, the activity inherits the theme set for the application as a whole, from the
<application>element'sthemeattribute. If that attribute is also not set, the default system theme is used. For more information, see Styles and themes . -
android:uiOptions Extra options for an activity's UI. Must be one of the following values.
Ценить Описание "none"No extra UI options. This is the default. "splitActionBarWhenNarrow"Adds a bar at the bottom of the screen to display action items in the app bar , also known as the action bar , when constrained for horizontal space, such as when in portrait mode on a handset. Instead of a small number of action items appearing in the app bar at the top of the screen, the app bar is split into the top navigation section and the bottom bar for action items. This means a reasonable amount of space is made available not only for the action items, but also for navigation and title elements at the top. Menu items are not split across the two bars. They always appear together. For more information about the app bar, see Add the app bar .
This attribute was added in API level 14.
-
android:windowSoftInputMode - How the main window of the activity interacts with the window containing the on-screen soft keyboard. The setting for this attribute affects two things:
- Whether the soft keyboard is hidden or visible when the activity becomes the focus of user attention.
- Whether the activity's main window is resized smaller to make room for the soft keyboard or its contents pan to make the current focus visible when part of the window is covered by the soft keyboard.
The setting must be one of the values listed in the following table or a combination of one
"state..."value plus one"adjust..."value. Setting multiple values in either group, such as multiple"state..."values, has undefined results. Individual values are separated by a vertical bar (|), as shown in the following example:<activity android:windowSoftInputMode="stateVisible|adjustResize" ... >
Values set here (other than
"stateUnspecified"and"adjustUnspecified") override values set in the theme.Ценить Описание "stateUnspecified"Whether the soft keyboard is hidden or visible isn't specified. The system chooses an appropriate state or relies on the setting in the theme. This is the default setting for the behavior of the soft keyboard.
"stateUnchanged"The soft keyboard is kept in whatever state it was last in, visible or hidden, when the activity comes to the fore. "stateHidden"The soft keyboard is hidden when the user chooses the activity—that is, when the user affirmatively navigates forward to the activity, rather than backing into it when leaving another activity. "stateAlwaysHidden"The soft keyboard is always hidden when the activity's main window has input focus. "stateVisible"The soft keyboard is made visible when the user chooses the activity—that is, when the user affirmatively navigates forward to the activity, rather than backing into it when leaving another activity. "stateAlwaysVisible"The soft keyboard is visible when the window receives input focus. "adjustUnspecified"Whether the activity's main window resizes to make room for the soft keyboard or the contents of the window pan to make the current focus visible on-screen is unspecified. The system automatically selects one of these modes depending on whether the content of the window has any layout views that can scroll their contents. If there is such a view, the window resizes, on the assumption that scrolling can make all of the window's contents visible within a smaller area. This is the default setting for the behavior of the main window.
"adjustResize"The activity's main window is always resized to make room for the soft keyboard on screen. "adjustPan"The activity's main window isn't resized to make room for the soft keyboard. Rather, the contents of the window automatically pan so that the current focus is never obscured by the keyboard, and users can always see what they are typing. This is generally less desirable than resizing, because the user might need to close the soft keyboard to get at and interact with obscured parts of the window. "adjustNothing"The activity's main window isn't resized or panned to make room for the soft keyboard. The activity is responsible for making room for the soft keyboard using the window insets. For activities that handle window insets correctly this gives the most control over how the window's contents are displayed on the screen. This attribute was introduced in API level 3.
-
- introduced in:
- API level 1 for all attributes except
noHistoryandwindowSoftInputMode, which were added in API level 3. - См. также:
-
<application>
<activity-alias>
<деятельность>
Контент и образцы кода на этой странице предоставлены по лицензиям. Java и OpenJDK – это зарегистрированные товарные знаки корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2026-07-06 UTC.
[[["Прост для понимания","easyToUnderstand","thumb-up"],["Помог мне решить мою проблему","solvedMyProblem","thumb-up"],["Другое","otherUp","thumb-up"]],[["Отсутствует нужная мне информация","missingTheInformationINeed","thumb-down"],["Слишком сложен/слишком много шагов","tooComplicatedTooManySteps","thumb-down"],["Устарел","outOfDate","thumb-down"],["Проблема с переводом текста","translationIssue","thumb-down"],["Проблемы образцов/кода","samplesCodeIssue","thumb-down"],["Другое","otherDown","thumb-down"]],["Последнее обновление: 2026-07-06 UTC."],[],[]]