Что нового в Android Q?

Androidbasic_Deep_23.7_Site-5020-9d50cc.png

Не так давно отгремела конференция для разработчиков Google I/O 2019. И на ней представили много давно ожидаемых и полезных фич, которые уже можно попробовать в своих приложениях. НО! Не рекомендуем сразу бросаться обновлять приложения, которыми пользуются люди. Давайте сначала посмотрим, что может пойти не так.

Вообще, список изменений в новой ОС довольно большой, но мы остановимся на наиболее практичных с точки зрения конечного пользователя.

Разрешение на использование геолокации

В Android Q появилось разрешение на геолокацию в фоновом режиме. То есть пользователь теперь решает не только дать или запретить доступ к геолокации для вашего приложения, но и будет ли этот доступ работать, если приложение свёрнуто. В некоторых случаях достаточно будет нескольких строк кода (если есть разрешение ACCESS_FINE_LOCATION), в некоторых — приложение может просто не открыться. Проверьте это заранее!

Запуск Activity из фонового режима будет невозможен

Случаев, когда это действительно нужно, не так уж и много. Сами убедитесь, что вы корректно используете PendingIntent (что ещё можно использовать).

Тёмная тема (наконец-то!)

Теперь тёмную тему можно применять автоматически или в несколько строк кода (система сама перерисует ваши экраны). Если у вас уже реализована тёмная тема в приложении, то смысла что-то переделывать нет, если не реализована — рекомендуем её включить и проверить все экраны. Система может так инвертировать цвета в некоторых местах, что станет больно смотреть! В этом случае можно обойтись малой кровью и исключить часть элементов из тёмной темы и перерисовать самостоятельно.

Жесты навигации по краям экрана

С Android Q на всех смартфонах появляется новая система жестов, для которой не нужны кнопки в принципе. Это сделано для того, чтобы освободить как можно больше места на экране (в идеале — сделать экран безрамочным). Жесты слева и справа от края экрана будут возвращать пользователя на предыдущий экран, жесты снизу — сворачивать и листать приложения.

Поэтому самое пристальное внимание нужно уделить элементам экрана в районе нижней панели, ViewPager, DrawerLayout и вертикальным/горизонтальным спискам, когда пользователь вместо прокрутки может перейти на предыдущий экран. Для решения этой проблемы есть exclusion zones.

Вместо вывода

Есть ещё довольно много нововведений, которые тут не отмечены. Рекомендуем вам ознакомиться с полным списком на сайте разработчиков и потестировать своё приложение, если вас эти изменения касаются. Happy coding!

Обзор подготовлен специально для OTUS. За подготовку материала выражается благодарность Александру Аникину.

Автор
0 комментариев
Для комментирования необходимо авторизоваться