Что нового в Android Q
Перевод статьи о нововведениях версии мобильной операционной системы Android Q. В этой статье речь пойдет о Панелях настроек (Settings Panels),
которые показывают часто используемые настройки в приложении.
Недавно мы увидели анонс бета-версии Android Q. В этой версии Android появилась коллекция интересных изменений, к которым нам нужно подготовить наши приложения. В моем следующем наборе статей я собираюсь углубиться в каждую из них, чтобы мы были полностью готовы к тому, чтобы подготовить наши приложения.
Примечание. Код этой статьи можно найти здесь.
Панели настроек
Как указано в примечаниях к выпуску бета-версии для Android Q, одной из новых функций, которые мы видим, является то, что известно как Панели настроек. Это позволяет нам запускать панели, которые показывают часто используемые настройки в наших приложениях – это означает, что пользователь может переключать настройки без необходимости переключать контекст (без выхода из приложения), не говоря уже о том, чтобы найти настройки, к которым он хочет получить доступ. Эта новая функциональность дает нам доступ к трем различным панелям настроек, которые можно запустить с помощью простого вызова startActivity ().

Каждый из них предоставляет пользователю возможность настроить параметры для этих вещей. Эти панели настроек требуют очень мало кода для запуска, мы можем сделать это с помощью одной строки кода:
startActivity(Intent(panel))
Аргумент панели, который мы передаем в этот экземпляр намерения, является ссылкой на строковое значение, определенное в классе Panel.
Подключение к интернету
Мы можем запустить панель подключения к Интернету, передав значение ACTION_INTERNET_CONNECTIVITY при создании нашего намерения:
Settings.Panel.ACTION_INTERNET_CONNECTIVITY
Как вы можете видеть на скриншоте ниже, это дает нашему пользователю удобные возможности:
- Переключить режим полета
- Переключить Wi-Fi подключение
- Изменить подключение к сети Wi-Fi
- Перейти к настройкам подключения
Показ этой панели может быть полезен в следующих ситуациях:
- Приглашение пользователя подключиться к вашей сети Wi-Fi (хотя Q предоставляет для этого некоторые дополнительные функции, о которых мы расскажем в другом посте)
- Обнаружение проблемы с подключением, побуждение пользователя проверить свои настройки

Громкость
Возможно, ваше приложение обрабатывает какую-либо форму воспроизведения мультимедиа или вызовов – в этих случаях вполне вероятно, что вы будете обрабатывать аудио каким-либо образом. В этом случае вы сможете использовать панель громкости, используя значение ACTION_VOLUME:
Settings.Panel.ACTION_VOLUME
Панель громкости показывает несколько различных вариантов громкости:
- громкость медиа
- громкость звонков
- громкость уведомлений
- громкость будильника
Примечание. В настоящее время есть баг, из-за которого обрезается текст для каждого параметра громкости.

NFC
Если ваше приложение использует технологию NFC, то есть также панель NFC, которую вы можете использовать. Это можно сделать с помощью значения ACTION_NFC:
Settings.Panel.ACTION_NFC
Это просто показывает настройки NFC пользователю. Для меня на моем устройстве я просто вижу переключатель, который запускает экран настроек NFC, возможно, в будущем он будет работать по-другому или будет более понятным.

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