Корпорация Google несколько дней назад выпустила вторую тестовую версию ОС Android 15. Естественно, в ней много интересного, и для апробации новинки компания предлагает специальную программу. Правда, далеко не все устройства поддерживаются сейчас, речь идёт только о гаджетах от Google, а именно Pixel 6/6a/6 Pro, Pixel 7/7a/7 Pro, Pixel 8/8a/8 Pro, Pixel Fold и Pixel Tablet. Но давайте посмотрим, что там предлагают разработчики. Самое интересное — под катом.
Что изменилось во второй версии?
В целом, довольно много чего, вот список изменений:
поскольку сейчас ряд смартфонов оснащён вспомогательными небольшими экранами, то Android 15 позволяет получить к ним доступ различным программам. Это может быть быстрый ответ на сообщение, ответ на звонок, управление камерой и т. п.
появился и доступ к спутниковым каналам связи. Приложения теперь могут определять работу с такими каналами при помощи метода ServiceState.isUsingNonTerrestrialNetwork(). Есть и возможность отправки и приёма сообщений через спутник. Будущее здесь, теперь мы его чувствуем
важное обновление касается поддержки NFC — так, теперь пользоваться функцией tap to pay проще, чем раньше. У приложений также появилась возможность переводить модуль NFC в режим наблюдения. В этом случае модуль не отвечает и не передаёт данные NFC-ридерам
кроме того, разработчики позаботились о работе с различными языками. Приложениям предоставлены расширенные опции для тонкой настройки переключения языков во время распознавания речи. Например, режим EXTRA_LANGUAGE_SWITCH_INITIAL_ACTIVE_DURATION_TIME_MILLIS допускает переключение только вначале звукового сеанса, а режим EXTRA_LANGUAGE_SWITCH_MATCH_SWITCHES отменяет переключение языка после определённого числа переключений, что может быть востребовано в ситуациях, когда заранее известно, что в одном сеансе будет использован только один язык
значительно расширена поддержка API, который предоставляется в OpenJDK. Например, добавлена поддержка дополнительных методов классов Math и StrictMath, упорядоченных коллекций и списков, использования ByteBuffer в Deflater и обновления ключей
ещё одна новость с API связана с определением выполнения записи экрана. Так, приложение теперь может задать callback-обработчик, который будет вызван, в случае если включена запись экрана и окно приложения попадает в видимую область
также внесены довольно заметные изменения в API запуска приоритетных сервисов (Foreground Service). Добавлен новый тип приоритетных сервисов — mediaProcessing, который можно использовать для ресурсоёмких операций с мультимедийным содержимым — например, перекодирования из одного формата в другой
а ещё появился новый API для работы с движком хранения на базе СУБД SQLite, предоставляющий доступ к расширенным возможностям SQLite
появилась функция управления запасом яркости для HDR, что весьма неплохо. Для того чтобы была возможность установки запаса яркости, добавлен метод setDesiredHdrHeadroom
также добавлена и поддержка стандарта CTA-2075, который определяет параметры для нормализации громкости
в AndroidX media3 ExoPlayer 1.0 включено по умолчанию использование пространственного звука для многоканального звука, если пространственный звук поддерживается на устройстве. Объявлен устаревшим класс Virtualizer, вместо которого для определения поведения и возможностей пространственного звука следует использовать класс Spatializer
добавлен класс AutomaticZenRules, позволяющий приложениям настроить правила применения режима «не беспокоить» и определить ситуации, когда эти правила должны применяться
помимо метода StorageStats.getAppBytes(), позволяющего получить общие данные о размере установленного приложения, добавлен метод StorageStats.getAppBytesByDataType(), дающий возможность получить раздельные сведения о размере пакета APK, скомпилированном коде, извлечённых и сгенерированных данных
добавлен класс AutomaticZenRules, позволяющий приложениям настроить правила применения режима «не беспокоить» и определить ситуации, когда эти правила должны применяться
Что ещё?
Некоторые возможности, появившиеся в Developer Preview 1, не изменились:
например, в сервисах для показа рекламы в мобильных приложениях используются наработки проекта Privacy Sandbox, нацеленного на создание техник персонализации показа рекламы без нарушения конфиденциальности пользователя
в хранилище Health Connect добавлена поддержка новых типов данных, применяемых при занятиях спортом и контроле за питанием. Например, добавлены поля для отслеживания среднего числа пройденных шагов и потребления трансжиров. Health Connect обеспечивает централизованное хранение данных с фитнес-браслетов и прочих устройств, имеющих отношение к здоровью пользователя, и организует совместный доступ разных приложений к данным о здоровье
в API для предоставления совместного доступа к экрану добавлена возможность захвата отдельных окон приложений, а не всего содержимого экрана
Если вы уже протестировали новую версию, расскажите, как она вам, много полезного, нового пригодилось или в целом ничего не поменялось?