Какие функции появились в Android 9.0
Комментарии (1)
Ответ сгенерирован нейросетью и может содержать ошибки
Основные нововведения Android 9 (Pie)
Android 9, выпущенный в августе 2018 года под кодовым названием Pie, стал важным обновлением, сделавшим акцент на искусственном интеллекте (ИИ), адаптивности интерфейса и безопасности. Вот ключевые функции, которые появились в этой версии.
1. Навигация на основе жестов (Gesture Navigation)
Полностью переработанная система навигации с упором на свайпы вместо традиционных кнопок:
- Свайп вверх с нижнего края — возврат на домашний экран.
- Свайп вверх и удержание — открытие списка недавних приложений.
- Свайп вправо по нижней панели — быстрое переключение между последними приложениями.
- Кнопка «Назад» появлялась контекстно при необходимости, как оверлей.
// Включение навигации жестами (если поддерживается устройством)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
window.decorView.systemUiVisibility =
View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or
View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
}
2. Адаптивная яркость и батарея (Adaptive Battery & Brightness)
- Adaptive Battery использовал машинное обучение (через платформу ML Kit) для анализа моделей использования приложений и ограничения фоновой активности редко используемых программ.
- Adaptive Brightness учился на предпочтениях пользователя, автоматически настраивая яркость экрана в разных условиях освещения.
3. «Ломтик» (Slice)
Slice — это фрагмент UI приложения, который можно было встраивать в другие приложения или системы (например, в поиск Google). Они предоставляли интерактивные, обновляемые сниппеты контента.
<!-- Пример объявления Slice-провайдера в AndroidManifest.xml -->
<provider
android:name=".MySliceProvider"
android:authorities="com.example.app.mysliceprovider"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.app.slice.category.SLICE" />
</intent-filter>
</provider>
4. Улучшения для камеры и мультимедиа
- API Camera2 получил новые возможности, включая поддержку внешних USB-камер.
- ImageDecoder — новый API для декодирования изображений (замена устаревшему
BitmapFactory), поддерживающий GIF, WebP, HEIF с лучшей производительностью. - HDR VP9 Video и HEIF для более эффективного сжатия фото.
// Декодирование изображения с использованием ImageDecoder
val source = ImageDecoder.createSource(contentResolver, imageUri)
val bitmap = ImageDecoder.decodeBitmap(source) { decoder, info, source ->
decoder.setTargetSize(width, height)
}
5. Защита конфиденциальности и безопасности
- Ограничения для фоновых приложений: приложения, работающие в фоне, больше не могли получать доступ к камере, микрофону или датчикам (акселерометр, гироскоп).
- Новые разрешения
USE_BIOMETRICиUSE_FINGERPRINTдля аутентификации. - Зашифрованные резервные копии в Google Cloud.
- TLS по умолчанию для всех сетевых соединений.
6. Уведомления и взаимодействие с сообщениями
- Smart Reply в уведомлениях — предложение быстрых ответов на сообщения с помощью ИИ.
- Разговорные категории в уведомлениях, группировка сообщений от одного отправителя.
- Поддержка изображений и стикеров в уведомлениях о сообщениях.
// Добавление действия "Smart Reply" в уведомление
val action = Notification.Action.Builder(
icon,
"Ответить",
replyIntent
).setAllowGeneratedReplies(true).build()
7. Улучшения производительности и разработки
- Внутренний API для не-SDK интерфейсов: начато ограничение доступа к скрытым API, что повлияло на совместимость.
- Многооконный режим для планшетов и складных устройств (ранняя поддержка).
- Neural Networks API 1.1 для ускорения машинного обучения на устройстве.
8. Прочие значимые изменения
- Новая панель быстрых настроек с поддержкой тёмной темы (системной).
- Rotation Lock Button — кнопка блокировки поворота экрана в навигационной панели.
- Поддержка вырезов (notch) через
DisplayCutoutAPI. - Улучшения для аудио: громкость Bluetooth по умолчанию, HD Audio кодекки.
// Работа с вырезом (notch) экрана
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
val displayCutout = window.decorView.rootWindowInsets.displayCutout
if (displayCutout != null) {
val safeInsetTop = displayCutout.safeInsetTop
// Регулировка UI с учётом безопасной зоны
}
}
Итог
Android 9 Pie сделал значительный шаг в сторону адаптивного и интеллектуального взаимодействия с пользователем, заложив основы для дальнейшей интеграции ИИ, повышения автономности и безопасности. Для разработчиков важнейшими стали Slice, ImageDecoder, ограничения доступа к камере/микрофону в фоне и подготовка к будущим формам-факторам устройств.