- Представлена Android 12: самое большое изменение дизайна за последние годы
- Стала доступна первая публичная бета-версия для установки, поддерживаются смартфоны 11 производителей
- Google официально выпустила Android 11. Что нового и какие устройства обновятся
- Что нового в Android 11
- Какие устройства получат Android 11
- Обзор Android 11: действительно полезные функции и новый уровень приватности
- Содержание
- Нововведения
- Безопасность
- Общие впечатления
- Все новинки Android 12. Обзор для разработчиков
- Дизайн
- Новый дизайн Material You
- Стандартный Splash Screen для всех приложений
- Обновление эффектов UI
- Ripple эффект
- Overscroll
- RenderEffect API
- Виджеты
- Rounded Corner API
- Rich Content Insertion
- Уведомления
- Запрет «трамплинов» в уведомлениях
- Медиа
- Поддержка AVIF
- Compatible Media Transcoding
- Performance Class
- Прочее
- Безопасность и приватность
- Примерное местоположение
- Отдельное разрешение для Nearby сканирования через Bluetooth
- Exact alarm permission
- Отслеживание доступа к Clipboard
- Ограничения на использование Foreground Service
- Уведомления Foreground Service будут показываться с задержкой
- Индикатор использования микрофона и камеры
- Privaсy Dashboard
- Гибернация приложений
- Ограничение частоты получения данных с сенсоров движения
- Объявление exported у всех компонентов в Manifest
- Прочие
Представлена Android 12: самое большое изменение дизайна за последние годы
Стала доступна первая публичная бета-версия для установки, поддерживаются смартфоны 11 производителей
Компания Google провела сегодня на конференции Google I/O большую презентацию новой операционной системы Android 12.
Новая ОС приносит большое изменение дизайна. Google представила новый дизайнерский язык Material Design — он получил название Material You, пересматривающий интерфейс по всей системе.
Google подчёркивает, что Android 12 стала «самым большим изменением дизайна за последние годы». Особенно отмечается автоматическое создание новой цветовой схемы при смене обоев, первыми эту функцию получат смартфоны Google Pixel.
Были переработаны быстрые настройки, в том числе был добавлен значок Google Pay и элементы управления умным домом.
Отдельное внимание уделили безопасности. В системе появилась Privacy Dashboard — панель, где можно посмотреть какие разрешения получили приложения, и когда это произошло.
Также Android 12 включит подсветку в правом углу, если используются камера или микрофон. Выданные разрешения можно легко отменить через быстрые настройки, не покидая текущего экрана.
Кроме того, в Android 12 появилась поддержка функции Digital Car Key — цифровых ключей для автомобиля. Пользователи смогут автоматически открывать и запирать автомобиль с помощью смартфона. Осенью функция станет доступна на смартфонах Pixel и в некоторых моделях Samsung Galaxy. Поначалу она будет работать с автомобилями BMW.
Разработчики утверждают, что смартфоны на базе Android 12 смогут работать быстрее, а время автономной работы у них увеличится, благодаря оптимизации использования CPU.
Google также объявила о выходе первой публичной бета-версии — Android 12 Beta 1. Она доступна для смартфонов серии Pixel, начиная с модели Pixel 3, а также для избранных моделей Asus, OnePlus, OPPO, Realme, Sharp, Techno, TCL, Vivo, Xiaomi и ZTE.
Источник
Google официально выпустила Android 11. Что нового и какие устройства обновятся
Я никогда не понимал, как у Google устроена схема выпуска новых версий Android. В отличие от Apple, поисковый гигант, вместо того чтобы провести презентацию и рассказать об обновлении, молча запускал бета-тест для разработчиков, который длился несколько месяцев, и только потом созывал официальное мероприятие, чтобы объяснить, каких нововведений стоит ждать. Но официальную дату релиза всё равно никто не оглашал, предлагая пользователям узнать о выходе апдейта уже по факту. С Android 11 произошло то же самое.
Android 11 выходит официально. Жаль, далеко не для всех устройств
Сегодня ночью Google официально выпустила Android 11, однако релиз прошёл довольно вяло. Мало того, что пользователи банально не были к нему готовы, потому что не знали, когда ждать обновление, так оно ещё и стало доступно только для ограниченного числа устройств. По традиции, ими оказались смартфоны Google Pixel, которые уже начали получать новую версию ОС. Вскоре к их числу присоединятся аппараты OnePlus, Xiaomi, Realme, Oppo и Samsung. Правда, как обычно и бывает, в первую очередь обновятся именно флагманы, а потом и все остальные.
Что нового в Android 11
Android 11 — не такое уж и масштабное обновление
С точки зрения нововведений Android 11 сложно назвать масштабным обновлением. Большая часть новых функций могла бы стать частью промежуточного апдейта, выходящего посреди года, как это бывает у Apple. Впрочем, вот они:
- История уведомлений, где можно посмотреть все оповещения, даже если их случайно закрыли;
- Чаты в формате всплывающих пузырей, которые отображаются поверх других приложений;
- Функция записи экрана, которая позволяет прямо из шторки уведомлений включить видеофиксацию;
- Механизм Scoped Storage, который делит хранилище на несколько независимых ячеек, чтобы приложения не имели доступа к данным друг друга;
- Расширенные настройки привилегий с возможностью выбирать, на какой период давать приложениям разрешения на доступ к камере, службам геолокации и микрофону: на сутки, на один сеанс или только при использовании;
- Отдельная страница выбора карт в Google Play, где также доступны инструменты управления умным домом;
- Запрет на использование бьюти-режимов в камере по умолчанию;
- Функция автозаполнения паролей, которая предлагает пару логин-пароль прямо над клавиатурой;
- Новая панель управления воспроизведением прямо в шторке уведомлений с расширенной функциональностью;
- Функция оцифровки документов, которая, однако, будет доступна не всем и не везде из-за законодательных ограничений;
- Управление смартфоном постукиванием по задней крышке как в iOS 14.
В общем, новых функций действительно не мало, однако они не заставляют восхищаться находчивостью разработчиков Google, оставляя впечатление, будто они и сами не знали, чем удивить пользователей. А единственное знаковое нововведение и вовсе оказалось старым. Ведь механизм разделения памяти на отдельные ячейки Scoped Storage планировался к запуску ещё в Android 10, но тогда разработчики приложений заявили, что не успеют адаптировать софт к новым требованиям, и релиз было решено отложить на целый год, аккурат до Android 11.
Какие устройства получат Android 11
Смартфонов, которые получат Android 11, будет довольно много. Но вот когда они получат обновление, неизвестно
Что касается устройств, которые получат Android 11, то их не так уж и мало. Вот лишь основные:
- Вся линейка Galaxy S10
- Вся линейка Galaxy Note 10
- Вся линейка Galaxy Note 20
- Вся линейка Galaxy S20
- Вся линейка Galaxy A (2019/2020 г.в.)
- Xiaomi Mi 9
- Xiaomi Mi 10
- Huawei P20, P30, P40
- Huawei Mate 20, Mate 30, Mate 40
- Вся линейка Honor 20
- Все смартфоны OnePlus с 6-й модели
- Все смартфоны Oppo, Realme и Vivo 2019-2020 г.в.
Само собой, учесть все смартфоны, которым светит Android 11, невозможно. Во-первых, некоторые из них ещё не вышли, а, во-вторых, сами производители пока не очень охотно раздают обещания относительно сроков обновления фирменных аппаратов. Поэтому, если вы вдруг не обнаружили в этом списке своего смартфона, не расстраивайтесь. Просто учитывайте, что, если он вышел в 2019-2020 годах, скорее всего, обновление до него рано или поздно доберётся. Разумеется, только если это не смартфон Xiaomi.
Источник
Обзор Android 11: действительно полезные функции и новый уровень приватности
Google наконец-то начала распространять релизную версию своей новой мобильной ОС — Android 11. Первыми обновление получат владельцы смартфонов Google Pixel, OnePlus, Xiaomi, OPPO и Realme.
Я установил новую итерацию ОС на Google Pixel 3a, тщательно протестировал её и теперь делюсь впечатлениями, полученными от обновления.
Содержание
Нововведения
Внешний вид системы совсем не поменялся, поэтому при обновлении можно увидеть знакомый по прошлой версии интерфейс. Зато появилось много новых и интересных фишек.
Первое, что бросается в глаза, — слегка переработанное меню недавних приложений. Нижний докбар с рекомендуемыми приложениями заменили две кнопки: «Скриншот» и «Выбрать». Первая, очевидно, позволяет сделать скриншот текущего окна, а вторая даёт возможность взаимодействовать с контентом текущей программы (раньше это можно было делать только с английским системным языком) — например, копировать текст.
Ещё одно заметное, но непонятное для меня изменение — уменьшение количества строк в шторке быстрых действий. Также полноценное уведомление при скриншоте заменили на более компактное превью. Кстати, располагается оно в том же углу, что и на iOS.
Сами уведомления тоже преобразились: так, в музыкальном плеере пропал эффект градиентного перехода, появившийся ещё несколько лет назад. Зато в альбомном виде плеер стал компактнее. Говоря о плеере, стоит отметить возможность быстрого переключения между устройствами воспроизведения. Правда, пока что это работает криво.
Появились и разделения уведомлений по категориям: сообщения из мессенджеров теперь отправляются в «Разговоры». А определённым беседам можно повысить приоритет, разрешив им тем самым обходить режим «Не беспокоить» и появляться в виде пузырьков.
Интересная фишка обновления — плавающие пузырьковые уведомления. Они позволяют быстро открыть переписку в любом приложении и так же быстро свернуть её. Важно заметить, сейчас они работают мало где — в том же Telegram пока что недоступны.
Одно из полезнейших нововведений: запись экрана. На Android 10 она была доступна в достаточно сыром виде, и активировалась только после выполнения определённых манипуляций. Сейчас же функция доступна «из коробки» и работает прекрасно.
Не обошлось без новой пасхалки: в 11 версию «зелёного робота» вернулись коты из Nougat. Для активации достаточно зайти в настройки, тапнуть пару раз по версии системы, и прокрутить появившийся круг по часовой стрелке. После этого «питомцев» можно будет ловить в появляющихся время от времени уведомлениях.
Меню, появляющееся при долгом нажатии кнопки питания, подверглось небольшой переработке: функциональные кнопки переместились вверх, а фон, также, как и в меню приложений, перестал быть прозрачным. Помимо всего прочего, там же теперь можно управлять умным домом.
Безопасность
Так же, как и Apple в своей iOS 14, Google поработала над безопасностью в своей системе. Главные изменения касаются хранилища. Отныне сторонние приложения не могут получать доступ к директориям Android/obb/ и Android/data/. Такое ограничение может, например, усложнить установку сторонних программ с кэшем. Помимо этого, разрешение на доступ к хранилищу переименовано: теперь запрашивается доступ к файлам и медиа.
Важные изменения коснулись и механизма разрешений. Так, в Android 11 пользователь может предоставить одноразовый доступ приложения к местоположению, микрофону или камере. Кроме того, в системе появился автоматический сброс некоторых разрешений. Он происходит, если конкретным приложением не пользоваться несколько месяцев. А кнопка «Отклонить» в диалоговом окне разрешений подразумевает под собой действие «Не спрашивать снова» — соответствующий чекбокс исчез.
Общие впечатления
Система получила действительно массу новых особенностей, но достойно ли обновление новой номерной части? На мой взгляд, нет. На данный момент складывается впечатление, что Google именно «полирует» свою ОС, а не вводит нечто крупное. А номерные части обычно ассоциируются именно с масштабными нововведениями. Да, на смартфоны Pixel вплоть до Android 12 будут регулярно выходить Feature Drops (эксклюзивные обновления), но остальные устройства останутся за бортом и вряд ли получат дополнительные функции в этом поколении. Поэтому сейчас фишек, как мне кажется, недостаточно, чтобы давать апдейту новую цифру.
Похвально, что вместе со смартфонами Google Pixel обновление получат устройства OnePlus 8 и 8 Pro. Это показательный шаг к снижению фрагментации системы. Но, разумеется, над этим вопросом компании придётся ещё изрядно поработать — та же Samsung выпускает апдейты лишь спустя несколько месяцев после релиза новой версии ОС.
Источник
Все новинки Android 12. Обзор для разработчиков
Привет. Меня зовут Кирилл Розов и вы если вы интересуетесь разработкой под Android, то скорее всего слышали о Telegram канале «Android Broadcast», с ежедневными новостями для Android разработчиков, и одноимённом YouTube канале. Этот пост является текстовой расшифровкой нового видео на канале
Прошла конференция Google I/O и мы узнали абсолютно всё про новую версию Android, а также всё это можно попробовать в Beta 1, которую на Pixel можно установить по воздуху, а также ряд других производителей позволяют установить GSI образ.
Основной упор в релизе был сделан на усиление безопасности ОС и приватности данных и редизайн системы. Очень хорошо поработали с поддержкой новых современных стандартов медиа, причём минимизировали объем боли которые будут испытывать флагманские устройства из-за старых или бюджетных смартфонов. App Widgets воскресили и сделали улучшения, которые просили еще с первой версии Android.
Дизайн
Новый дизайн Material You
Google представила обновлённую версию Material Design, которая акцентирует внимание на персонализации цветовой палитры. Например, в Pixel устройствах цвета будут определяться на основе фоновой картинки. Полноценно попробовать Material You получится во второй Beta версии Android 12
Самый главный вопрос: «как вендоры будут адаптировать Material You в своих прошивках?» Есть вероятность что эта концепция цветов так и останется в чистом Android, а вендоры и сторонние приложения будут игнорировать дизайн и использовать свои собственные наработки. Вся палитра цветов в Material была основана на цветах бренда приложения, а сейчас должна задаваться пользователем. Хотя многое зависит как дизайнеры интерфейса приложений адаптируют новый дизайн. Пишите в комментариях как вам новый визуальный стиль Google
Стандартный Splash Screen для всех приложений
SplashScreen API позволяет его кастомизировать для вашего бренда: задать фон, анимированную иконку и другие параметры. Отключить новый Splash Screen нельзя, поэтому у всех кого есть своя вариация такого экрана — обратите внимание.
Splash Screen — довольно популярная практика в Android приложениях чтобы скрыть долгую инициализацию. Теперь в Android появляется стандартный Splash Screen, который будет анимировать открытия приложения из иконки в launcher.
Обновление эффектов UI
Ripple эффект
Обновление дизайна затронула многие аспекты UI системы, даже Ripple эффект обновился. Теперь в него добавили эффект аля «белый шум» по краям. Мне нравился старый одноцветный Ripple и новый выглядит странным и неестественным
Overscroll
Новый эффект при достижении граница списке стал доступен в Android 12 для нативных (Android View) системы. Тем кто использует iOS новый эффект overscroll будет очень знаком.
RenderEffect API
Новое API, которое позволит делать размытия, цветовые фильтры и другие графические эффекты намного проще и эффективнее. Теперь добиться размытия окна как в iOS можно всего лишь одной строчкой API
Виджеты
В Android 12 значительно переработали API виджетов рабочего стола. Мне кажется, что появление этого функционала в iOS 14 подстегнуло Google обратить внимание на жалобы разработчиков на это API еще с самой первой версии Android. Что теперь появилось:
Закруглённые края у фона всех виджетов на Android 12+
Виджеты могут использовать динамические цвета из темы, которые являются нововведением Material You
Начальная настройка виджета может быть необязательной и этот этап может пропускаться
Добавлена поддержка CheckBox, Switch и RadioButton. Обрадоваться могу разные Todo списки и приложения, где есть настройки через тумблеры
На превью виджета теперь можно ставить не только статическую картинку, но и верстать UI в XML и добавлять описание
Анимации при открытии приложения по клику на виджет. Фон виджета будет трансформироваться в фон окна открываемой Activity
Упрощение API для работы со списками в виджетах
Большое руководство по обратной совместимости для виджетов до Android 12 и после
Помимо прочего нам обещают библиотеку для написания виджетов в DSL стиле подобно Compose, с поддержкой старых версий Android. Это будет специальное DSL, которое конвертируется в иерархию View, но уже приятно что Compose стиль будет идти и в существующий функционал системы.
Rounded Corner API
Rounded Corner API позволит получать информацию о дисплеях с закруглениями и размещать свой контент безопасно, чтобы он не обрезался.
Пример, который приводит Google, для смещения контента на основе полученной информации о закруглениях не выглядит маленьким, но зато теперь хотя бы есть возможность.
Rich Content Insertion
Шаринг контента между разными приложениями — важная возможность любой системы. Google упрощает жизнь разработчиков и теперь вместо трёх отдельных API вставки содержимого через drag-&-drop, изображений из клавиатуры и буфера обмена мы получили один — Rich Content Insertion. Также compat API OnReceiveContentListener уже добавлено в Jetpack Core 1.5.0, который вышел в Stable.
Уведомления
Какое обновления Android без переработки уведомлений. Для начала снова поменялся их шаблон и появилось несколько новых возможностей:
В MessagingStyle и BigPictureStyle можно добавлять анимированные картинки
Действия на уведомлениях во время показа их на экране блокировки можно потребовать обязательной авторизации пользователя перед отправкой Intent
Новый стиль уведомлений для звонков — CallStyle, который позволяет создать разные стили для входящего, исходящего и текущего звонка. Также можно задавать важность для звонков
Зона в уведомлении, выделяемая для Custom View, теперь становится меньше.
Запрет «трамплинов» в уведомлениях
Под трамплином понимается случай когда нажатие на уведомление приводит к запуску Activity, но делается это не напрямую. Например, вы сначала запускаете BroadcastReceiver, а из него уже стартует Activity. Для улучшения производительности и UX теперь так делать запрещено. Хотите запустить Activity из уведомления — делайте это напрямую. В противном случаи ничего происходит не будет, а в логи упадёт ошибка
Медиа
Поддержка AVIF
Поддержка изображений формата изображений AV1, а точнее файлов AVIF. Этот формат пришёл из видео и использует все его преимущества компрессии и обеспечивает более высокое качество картинок и детализацию при одинаковом размере с JPG. Сможем ли снимать фото в таком формате?
Compatible Media Transcoding
В Android 12 появляется возможность для любого приложения воспроизводить современные форматы видео, которые могут записать устройства без всяких проблем. Android сможет конвертировать HEVC (H.265) to AVC (H.264), а также HDR10 в SDR. Вам надо создать новый XML файл в ресурсах вашего приложения с описанием поддержки современных форматов, а затем добавить ссылку на него в AndroidManifest.
Новая функция позволяет устройствам создать видео в современных форматах на устройствах и преобразовывать его автоматически для отсутствия проблем использования такого контента у приложений.
Скорость конвертации видео довольно быстрая — ролик длиной одну минуту в разрешение 1080p 30 кадров в секунду конвертируется 9 секунд на Pixel 4. Напомню, что в Pixel 4 стоит флагманский процессор Snapdragon 845 и 6 гигов оперативы. Так что результаты на середнячках могут быть хуже (
Performance Class
Начиная с Android 12, появляется новый стандарт Performance Class. Он описывает набор возможностей устройства, который являются минимальный требуемой для версии Android. Разработчики могут проверить класс производительности и изменить настройки, чтобы предоставлять лучший пользовательский опыт для устройства пользователя.
Class 12 будет опубликован с релизом Android 12 и будет включать в себя требования по возможностям проигрывания видео, возможности съемки контента, а также характеристики дисплея, скорости чтения/записи на диск и оперативной памяти. С каждой новой версией будет повышаться класс и обновляться требования, но даже на Android 13 может остаться class 12, если не будет соответствия новым требованиям.
Прочее
Генерации виброотдачи на основе аудио потока. Очень полезна будет для игр
Добавили возможность использовать камеры с высоким разрешением т.е. делать сразу снимки 108 мегапикселей и других огромных размеров.
При переключении аудио между приложениями будет происходить затухание громкости, а не резкая пауза
Camera2 API теперь содержит расширения для использования спец режимов аналогично CameraX Extentions
Безопасность и приватность
Примерное местоположение
В Android 11 появилась возможность давать разрешение на доступ к геолокации только во время использования приложения и на один раз. Этими возможностями воспользовалось 80% пользователей. Google развивает идею контроля пользователем доступа приложений к местоположению. В Android можно запросить точное и примерное местоположение, так вот теперь при запросе точной позиции, пользователь может отказать, но выдать доступ к примерному местоположению.
Изменение будет действовать только для приложений с targetSdk=S, так как разработчикам приложений, запрашивающих доступ к точному местоположению надо поменять свой код обработке получения.
Если вам всё же нужно точное местоположение, а пользователь ранее уже выдал примерное, то при повторном запросе пользователю будет предложено дать вам доступ только на точное местоположение.
Отдельное разрешение для Nearby сканирования через Bluetooth
В текущих версиях Android если вы хотите сканировать устройство поблизости с помощью Bluetooth, то вам приходилось запрашивать разрешение на доступ к местоположению, что порой вводило в заблуждение пользователей. Наконец-то в Android 12 эти разрешения будут отделены в новые: BLUETOOTH_SCAN и BLUETOOTH_CONNECT. BLUETOOTH_SCAN используется для доступа в случае поиска Bluetooth устройств, а BLUETOOTH_CONNECT — когда вам надо подключиться к устройствам с которыми уже связанными устройствами.
Если на основе сканирования вам всё также будет нужен доступ к местоположению, тогда без запроса на доступ к местоположению вам не обойтись.
Exact alarm permission
Выполнение операций в заданное время — боль Android разработчиков. Каждый из них делает свои оптимизации энергопотребления, которые заставляют на каждой оболочке отключать их по своему, а приложение должно показать инструкцию. Возможно нас ждёт улучшение в работе точного срабатывания alarm-ов, так как теперь в системе появится разрешение SCHEDULE_EXACT_ALARM, без получения которого вызовы exact alram-ов в AlarmManager будет приводить к выбрасыванию SecurityException.
Новый permission не является runtime, а это значит что за его получением придется отправлять пользователя в настройки системы.
Приложения должны использовать новый тип alarm-ов только если это критический функционал. Например, будильники или таймеры, а также приложения, которые содержат функционал с требованием вызывать в точное время. Возможно даже в Google Play не станут допускать все приложения.
Отслеживание доступа к Clipboard
Теперь система следит за доступом к буферу обмена, и когда фоновое приложение будет пытаться оттуда получить данные будет выдано уведомление. Хорошее нововведение, которое не даст следить за вашими данными. Часто используйте copy-paste для важных данных? Я вот порой пользуюсь для паролей и стало немного страшно что может делаться сейчас.
Ограничения на использование Foreground Service
Главное изменение Android 12, которое доставит работы Android разработчикам — теперь Foreground Service нельзя запустить из фона, за исключением нескольких случаев. В случае неудачной попытке запуска Service приложение будет падать с исключением ForegroundServiceStartNotAllowedException .
Какие случае исключительные:
High Priority Push
Как реакция на broadcast-ы ACTION_BOOT_COMPLETED , ACTION_LOCKED_BOOT_COMPLETED , или ACTION_MY_PACKAGE_REPLACED
Приложение имеет специальные разрешения или роли
Приложение игнорирует оптимизации батареи
и некоторый другие специфичные случаи
На замену предлагается использовать новое API Expedited Jobs, которое уже было добавлено в WorkManager 2.7.0. На Android 12 и более поздних версиях будет вызывать соответствующие API из JobScheduler, а на старых версиях Android будет запускаться Foreground Service.
Expedited job позволяет приложение выполнять короткие важные задачи, предоставляя системе лучшее управление доступом к ресурсам. Expedited Job по своим характеристикам находится между Foreground Service и обычной job из JobScheduler:
Короткий период — пара минут. Если ваша job будет выполняться дольше, система может остановить выполнение expedited job.
Expedited job менее подвержены эффектам от менеджмента системой экономии расхода батареи, таких как Battery Saver и Doze Mode.
Система запускает expedited job сразу же, если в системе имеется достаточно для этого ресурсов и количество уже запущенных job не превышает лимит, установленный в системе, и в хватает свободной оперативной памяти. Эти требования более строгие чем для других типов job.
Уведомления Foreground Service будут показываться с задержкой
Как часто вы видите уведомления, которые появляются на пару секунд и исчезают? Может вы сами делали такие своим кодом? Бывалый разработчик знает что это Foreground Service, который выполняет свою работу быстро и поэтому уведомление показывается и быстро исчезает. В Android 12 уведомление, связанное с Foreground Service, не будет показываться в течении первых 5 секунд. Улучшение направлено на UX и надеюсь что будет позитивно воспринято пользователям. Конечно же есть исключения из правила, например, если у уведомления есть кнопки действий, то оно будет показано сразу. Разработчик может явно указать что уведомление нужно показать сразу c помощью нового API в Notification.Builder.setForegroundServiceBehavior().
Индикатор использования микрофона и камеры
Современные версии Android и iOS активно заимствуют идеи друг у друга, так вот и новая возможность системы реализована аналогично iOS. Когда приложения будут использовать камеру или микрофон, то в status bar будет появляться индикатор, который не позволит делать что-то в фоне. Помимо прочего пользователь в любой момент сможет отключить доступ к камере и микрофону всем приложениям, с помощью тоглов.
Privaсy Dashboard
Новая функциональность Android 12 позволит пользователям видеть история доступа всеми приложениями к местоположению, микрофону и камере. Функционал будет доступен во второй Beta.
Гибернация приложений
В Android 11 автоматический сброс разрешений неиспользуемым приложениям зашёл успешно и держите развитие фичи — гибернация приложений. Если пользователь не будет взаимодействовать с вашим приложением очень долго (несколько месяцев), то система сбросит все полученные разрешения и отправит его в гибернацию:
Будет очищен кэш приложения
Приложение не сможет запускать job или alert в фоне
Приложение не будет получать push уведомления, включая high-priority FCM
После первого взаимодействия с вашим приложением все ограничения будут сняты, но вам надо будет заново создать job, alarm и уведомления, которые вам необходимы. Поведение схоже когда пользователь принудительно останавливает приложения в настройках
Вы можете запросить у пользователя отключить настройку «Отзывать разрешения и очищать память» в настройках, если ваше приложение подразумевает работу в фоне, например отправка местоположения между членами семьи или приложения для устройства-компаньона.
Ограничение частоты получения данных с сенсоров движения
По умолчанию данные с различных сенсоров, таких как акселерометр, гироскоп и других будут приходить с частотой 200 Гц или реже. Чтобы вы смогли получать данные как прежде вам надо в манифесте декларировать новое разрешение HIGH_SAMPLING_RATE_SENSORS, но запрашивать у пользователя его не придётся.
Объявление exported у всех компонентов в Manifest
Для всех компонентов в AndroidManifest теперь вы должны явно объявлять значение android:exported=true|false , который отвечает за доступность компонента другим приложениям. По умолчанию значение этого атрибута false, но если хотя бы один intent-filter будет объявлен у компонента, то значение поменяется на true. Такое уязвимостью пользовались злоумышленники, например так взломали авторизацию Slack.
В случае если у вас будет targetSdk=S и у какого-то компонента не будет объявлено значение exported, то установка не завершится, а в Logcat вы увидите сообщение.
Android Studio 2020.3.1 Arctic Fox содержит Android Lint проверки для того чтобы вы не пропустили ничего. Важно чтобы обновились сторонние библиотеки, которые содержат компоненты. В противном случае вам нужно будет использовать возможности Manifest Merger и задать значение exported самостоятельно.
Прочие
Много интересных изменений произошло в Android 12, но вместить все их в видео я не смогу, так что ловите ещё изменений в быстром формате:
ART теперь обновляется независимо от системы
В стандартном Build классе появились новые константы, которые позволяют получить производителя чипа и его модель (подробности).
Появился новый App Standby bucket — Restrictive. Он будет являться самым строгим и будет иметь больше всего ограничений
Удалены Bouncy Castle реализации криптографических алгоритмов
Backup и восстановление данных разделили для локального бэкапа (по проводу) и облачного, а также обновили возможности конфигурации.
При создании любого PendingIntent теперь явно нужно указывать мутабельный он или нет
Web intent теперь будет открываться в приложении только если приложение является одобренным этим доменом. Используйте Android App Links, либо открывать системные настройки приложения и просить пользователя добавить domain в одобренные
Поддержка SameSite куков в WebView
Private Compute Core — изолированная от ОС среда для процессинга данных пользователя. Например, Smart Reply. У неё нет доступа к инету и исходный код открыт. Идея в том чтобы обрабатывать данные пользователя на устройстве без возможности их утечки куда-либо.
Добавлена возможность приложениям автоматически обновлять другие приложения. Раньше это мог делать только Google Play
Выход Android 12 запланирован на осень этого года, но еще до этого времени нас жжёт несколько Beta версий, которые порадуют новинками, показанными на Google I/O. Помните, что с выходом Android 12 надо будет адаптировать свои приложения под Android 11. В комментариях я жду ваших впечатлений от Android 12: что понравилось, что нет, а чего еще ждали от обновления зеленого робота
Источник