Назад к вопросам
Middle
71
questionbank

В чем заключается отличие между Android 10 и Android 11?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

Основные отличия Android 10 и Android 11 затрагивают конфиденциальность, управление уведомлениями, диалоги и многозадачность.

Feature Android 10 Android 11
Разрешения геолокации "Разрешить всегда", "Разрешить только во время использования", "Отказать" Добавлено "Разрешить только в этот раз" (для однократного доступа).
Разрешения доступа к данным Управление через настройки приложений. Автоматический сброс разрешений для неиспользуемых приложений. Улучшенный Scoped Storage (область хранения с ограниченным доступом).
Уведомления Сгруппированы по типу приложения, приоритезация. Добавлена категория "Разговоры" для приоритезации чатов. Улучшенное управление уведомлениями в шторке.
Диалоги Не выделены в отдельную категорию. Отдельная секция "Разговоры" в шторке уведомлений для быстрого доступа к чатам.
Многозадачность Режим разделенного экрана, жесты. Улучшенное управление медиа, возможность быстрого переключения между устройствами воспроизведения. Улучшенное управление питанием для приложений.
Запись экрана Требуются сторонние приложения. Встроенная функция записи экрана.
Доступы к файлам Более широкие возможности доступа к файловой системе. Более строгий контроль доступа к файлам через Scoped Storage. Усложнен доступ к общим каталогам без явных разрешений.

Пример использования Scoped Storage:

// Пример доступа к медиафайлам с помощью MediaStore и Scoped Storage
Uri collection = MediaStore.Images.Media.getContentUri(MediaStore.VOLUME_EXTERNAL_PRIMARY);

ContentResolver contentResolver = getContentResolver();

String[] projection = new String[] {
        MediaStore.Images.Media._ID,
        MediaStore.Images.Media.DISPLAY_NAME,
        MediaStore.Images.Media.DURATION,
        MediaStore.Images.Media.SIZE
};

try (Cursor cursor = contentResolver.query(
        collection,
        projection,
        null, // selection
        null, // selectionArgs
        null  // sortOrder
)) {
    // Обработка данных из курсора
}