extra_toc

Современные операционные системы разграничивают доступ к своим подсистемам для повышения уровня безопасности данных пользователя. Поэтому, если вы планируете работать с сервисами операционной системы, такими как: получение доступа к камере, файлам и т.д., то перед непосредственным обращением к сервису вам необходимо выполнить запрос разрешения на работу c сервисом.

Работа с разрешениями осуществляется через класс FGX.Permissions.TfgPermissionService.


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

Для запроса разрешения на работу с подсистемой ОС нужно воспользоваться асинхронным методом RequestPermissionsAsync, указав список идентификаторов интересуемых разрешений. Метод выполняет асинхронный запрос разрешения, приводящий к появлению диалога о запросе разрешения у пользователя, и возвращает результат в анонимную процедуру.

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

Проверка разрешения

Если вы впервые запрашиваете разрешение у пользователя, то правилом хорошего тона является предварительное объяснение пользователю, зачем оно нужно. Это повышает шанс положительного ответа от пользователя. Поэтому перед непосредственным запросом разрешения полезно проверить, какое состояние у этого разрешения. Это можно сделать через методы CheckPermission или CheckPermissions