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

Что изменилось в системе разрешений после Android 6?

Sobes Copilot

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

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

sobes.tech AI

В Android 6.0 (API 23) была введена модель runtime-разрешений.

Основные изменения:

  • Динамические разрешения: Приложения запрашивают разрешения не при установке, а непосредственно перед первым использованием функции, требующей данного разрешения.
  • Группировка разрешений: Разрешения сгруппированы по типу. Если пользователь предоставляет разрешение одному члену группы (например, READ_CONTACTS), он автоматически получает разрешения для других членов этой же группы (например, WRITE_CONTACTS).
  • Отозванные разрешения: Пользователь может отозвать любое выданное разрешение в любое время через настройки устройства.

В коде приложения это требует дополнительной логики для проверки наличия разрешения и его запроса, если оно еще не предоставлено.

Пример проверки и запроса разрешения в Flutter:

import 'package:permission_handler/permission_handler.dart';

// Функция для проверки и запроса разрешения
Future<void> requestPermissions() async {
  // Проверяем статус разрешения на доступ к галерее
  if (await Permission.photos.request().isGranted) {
    // Разрешение предоставлено, выполняем действия
    print('Разрешение на доступ к галерее предоставлено');
  } else {
    // Разрешение не предоставлено, обрабатываем отказ или показываем сообщение
    print('Разрешение на доступ к галерее отклонено');
  }
}