Предполагается, что Android 15 заставит приложения работать без ограничений, но Google незаметно добавил способ отказаться от этого.

Предполагается, что Android 15 заставит приложения работать без ограничений, но Google незаметно добавил способ отказаться от этого.

TLDR

  • Начиная с Android 15, приложения, предназначенные для новой версии, по умолчанию вынуждены работать от края до края, что делает панели состояния и навигации прозрачными.
  • Однако Google незаметно добавил API, который приложения могут использовать, чтобы отказаться от сквозного контроля.
  • Однако этот API не упоминается ни в каких документах для разработчиков, сообщениях в блогах или лабораториях кода Google.

Как опытный разработчик мобильных приложений с более чем десятилетним опытом работы за плечами, я постоянно слежу за последними обновлениями и функциями экосистемы Android. Недавнее открытие о скрытом API, который позволяет приложениям отказаться от сквозного контроля в Android 15, вызвало у меня любопытство и беспокойство.


Хотя Android в течение некоторого времени позволял приложениям использовать весь экран телефона, отображая контент под панелями состояния и навигации, большинство приложений не полностью поддерживают эту функцию. У разработчиков были разные причины избегать расширения своих приложений от края до края, но в ожидаемом обновлении Android 15 они будут вынуждены это сделать (по крайней мере, мы так думали).

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

Google предлагает разработчикам приложений решение для управления дублированием с помощью вставок, которые определяют области экрана приложения, пересекающиеся с пользовательским интерфейсом системы. Однако, поскольку ранее сквозной дизайн не был обязательным для приложений, многие разработчики не нашли необходимости решать эти конфликты пользовательского интерфейса. Ожидается, что это изменится с выходом Android 15.

Ранее в этом году я узнал об анонсе Google Android 15 Beta 1, в котором произошло заметное изменение: приложения, разработанные для Android 15, будут автоматически отображаться без ограничений. Чтобы помочь разработчикам адаптироваться к этому переходу, Google выпустил обновленную документацию, учебные пособия и лаборатории кода, в которых демонстрируются методы управления сквозными ограничениями в Android 15. Как аналитик, мне интересно наблюдать, как Google постоянно совершенствует систему разработчика. опыт, предоставляя ценные ресурсы для адаптации к новым обновлениям.

Похоже, что ни в одном из руководств не обсуждается тот факт, что существует API, доступный приложениям для самостоятельного обхода полноэкранного режима (от края до края).

Слева: приложение работает с Android 14 (SDK 34), но не охватывает весь экран на устройстве Android 15.

Как технический энтузиаст, я имею в виду функцию API, известную как WindowOptOutEdgeToEdgeEnforcement. В темах своих приложений разработчики могут настроить этот атрибут, чтобы контролировать, применяется ли сквозное принудительное применение к их окнам. По умолчанию для него установлено значение false, что означает, что сквозное принудительное применение будет активно, если приложение разработано для Android 15. Однако, если они решат установить для него значение true, то сквозное принудительное применение не будет применяться. к конкретному окну, о котором идет речь.

Хотя в руководстве API упоминается, что указанный атрибут может больше не работать в будущих версиях SDK, у разработчиков есть как минимум двухлетнее окно для адаптации своих приложений к безграничному режиму, прежде чем Google Play Store потребует таргетинг приложений на Android 15. что ожидается 31 августа 2026 года. Однако неизвестно, когда этот атрибут действительно станет устаревшим и отключенным, что потенциально позволит в течение более длительного времени избегать корректировок совместимости в режиме сквозной совместимости.

Несмотря на любые обстоятельства, мы надеемся, что большинство разработчиков предпочтут адаптировать свои приложения для работы в безграничном режиме, а не исключать его. Если они этого не сделают, мы надеемся, что эта функция будет использоваться стратегически и временно для исключения определенных окон из ограничения сквозного доступа, а не для постоянного отказа. Судя по отчетам группы GN Issues в Telegram, похоже, что собственные приложения Google, такие как Phone by Google и Google Play Services, могут делать именно это. Они отметили, что эти приложения не используют безграничную функциональность, хотя они разработаны для Android 15.

Предполагается, что Android 15 заставит приложения работать без ограничений, но Google незаметно добавил способ отказаться от этого.Предполагается, что Android 15 заставит приложения работать без ограничений, но Google незаметно добавил способ отказаться от этого.

Кроме того, Google Chrome для Android может использовать этот API, чтобы избежать полноэкранного режима. Между тем, некоторые разработчики выступают за то, чтобы Google включил функцию отказа в будущие обновления Android. Если они выполнят этот запрос, то строгая политика сквозной связи на Android может снова превратиться в предложение.

Смотрите также

2024-08-05 06:47