April 21, 2024

Разрешения в Android

Введение

Разрешения приложений в операционной системе Android - это механизм контроля доступа к данным и функциям вашего устройства.

Источник изображения - android.com

Вы можете позволить приложениям использовать различные функции устройства, например камеру или список контактов.

Зачем это нужно?

  • Защита приватности: Разрешения позволяют защищать вашу личную информацию. Например, приложение для обмена сообщениями может просить доступ к контактам, чтобы вы могли отправлять сообщения друзьям, но ему по умолчанию не дан доступ к вашим фотографиям или местоположению.
  • Безопасность данных: Ограничение доступа приложений к определённым функциям и данным предотвращает возможные утечки информации. Это предотвращает сценарии, когда вредоносное приложение может скрытно собирать данные без вашего знания.
  • Регулирование функционала: Разрешения помогают обеспечить, чтобы приложения не использовали ресурсы устройства (например, камеру или микрофон) без ведома пользователя, что также может улучшать производительность устройства и его автономную работу.

Запрос разрешений

Источник изображения - android.com

Когда приложение впервые пытается получить доступ, система отображает диалог, и пользователь может выбрать, выдать разрешение или отказать. Если отказать, то приложение не сможет использовать данные или запрашиваемую функцию, что повлияет на его работу. В лучшем случае запрет ограничит возможности приложения, в худшем сделает приложение неработоспособным.

Рассмотрим на примере приложения "Камера". Для полноценной работы приложения необходимо выдать три разрешения к физическим датчикам устройства: камера, микрофон и местоположение.

Демонстрация запроса разрешений самим приложением.

В данном случае очевидно, что доступ к Камере обязателен, в противном случае приложение не сможет снимать фото и видео. Доступ к Микрофону нужен, чтобы записывать звук при съемке видео. А вот местоположение уже необязательное разрешение, и необходимо только для добавления сведений о месте съемки, подробнее что это такое, можно почитать здесь.

Примеры разрешений:

  • Физические датчики устойства
    • Микрофон – запись аудио.
    • Камера – съемка фото и видео.
    • Местоположение – доступ к данным о местоположении вашего устройства.
  • Телефония
    • Телефон – совершение вызовов и управление ими.
    • Список вызовов – просмотр списка вызовов на телефоне и создание записей в нем.
    • Контакты – доступ к списку контактов.
    • SMS – отправка и просмотр SMS-сообщений.
  • Хранилище, данные на устройстве
    • Файлы – доступ ко всем файлам на вашем устройстве.
    • Фото и видео – доступ к фото и видео на вашем устройстве.
    • Музыка и аудио – доступ к музыке и другим аудиофайлам на устройстве.
  • Другие разрешения
    • Уведомления – отправление уведомлений.
    • Календарь – доступ к вашему календарю.

Полный список разрешений можно найти по данной ссылке.

Изменить разрешения через системные Настройки

В любой момент можно зайти в настройки Android, проверить выданные разрешения для приложений и изменить их по своему усмотрению.

1) Откройте на устройстве приложение "Настройки" и нажмите на раздел Приложения.

Главный экран системных Настроек

2) Выберите нужное приложение. Если его нет в списке "Недавно открывавшиеся приложения", нажмите Показать все приложения, и затем выберите нужное.

Раздел "Приложения" в Настройках.

3) В правом верхнем углу подраздела есть кнопка с лупой. Нажмите на нее,чтобы войти в режим поиска по имени приложения.

Подраздел "Все приложения" раздела "Приложения" в Настройках.

3.1) Выберете приложение

Поиск приложения "Камера" в списке всех приложений.

4) В разделе "О приложении" выберите Разрешения.

Информация о приложении "Камера".

5) Откроется список разрешений приложения.

Все разрешения приложения "Камера".

6) Чтобы изменить настройки определенного разрешения, нажмите на него и выберите из списка.

Выбор разрешения для доступа к камере.

Как правило возможны следующие варианты предоставления доступа:

  • Всегда (применимо только для доступа к данным о местоположении) – разрешение действует все время, даже когда приложение не используется.
  • Разрешить только во время использования приложения – разрешение действует, пока вы пользуетесь приложением.
  • Всегда спрашивать – приложение будет запрашивать разрешение каждый раз, когда вы им пользуетесь. Разрешение будет действовать, пока вы не закроете приложение.
  • Запретить – приложение не сможет пользоваться разрешением даже во время работы.

Подробнее можно почитать здесь.

Изменить разрешения через контекстное меню

Альтернативный вариант настройки разрешений возможен через вызов контекстного меню "О приложении". Оно несколько меняется в зависимости от версии операционной системы Android и пользовательской оболочки, но общий принцип следующий:

  1. Долгое нажатие на иконку приложения: На главном экране или в панели приложений нажмите и удерживайте иконку приложения, для которого вы хотите изменить разрешения.
  2. Открытие контекстного меню: После долгого нажатия появится контекстное меню. Ищите пункт, как правило, названный "О приложении" или "Информация о приложении". В некоторых случаях это может быть иконка с символом "i" в маленьком кружке.
  3. Переход к настройкам разрешений: Коснитесь "О приложении" и в открывшемся окне информации о приложении найдите раздел "Разрешения".
  4. Настройка разрешений: В разделе "Разрешения" вы увидите список всех запрашиваемых приложением разрешений. Здесь вы сможете изменять разрешения, активируя или деактивируя доступ для каждого из них.

Видео демонстрация.