ОСТОРОЖНО МОШЕННИКИ! В последнее время в социальных сетях участились случаи предложения помощи в написании программ от лиц, прикрывающихся сайтом vscode.ru. Мы никогда не пишем первыми и не размещаем никакие материалы в посторонних группах ВК. Для связи с нами используйте исключительно эти контакты: vscoderu@yandex.ru, https://vk.com/vscode


Запрос App Permissions в Android у пользователя

Начиная с Android 6 Marshmallow стало необходимо во время работы приложения запрашивать у пользователя разрешение на доступ к функциям устройства, связанным с персональными данными (например, к контактам или микрофону). На примере доступа к камере разберем данный вопрос.

Проверка наличия и запрос разрешений (App Permissions) в Android

В общем случае необходимые разрешения (App Permissions) для приложения указываются в файле AndroidManifest.xml. Для камеры это будет так:

До Android 6 этого было бы достаточно. Но теперь используя так называемые опасные разрешения (Dangerous permissions) перед каждым моментом использования функциональности разрешения необходимо проверять его наличие.

При этом для получения безопасных разрешений (не связанных с персональными данными пользователя, например, доступ в Интернет) достаточно uses-permission в Манифесте.

Если опасное разрешение отсутствует, то его нужно запросить:

Где MY_PERMISSIONS_REQUEST_CAMERA – пользовательская константа с кодом запроса. Этот код в дальнейшем используется для отслеживания ответа пользователя на запрос разрешения.

В результате запроса пользователь увидит примерно следующее окно на своем устройстве:

Запрос App Permissions в Android у пользователя

Ответ пользователя на запрос нужно обработать. Для этого переопределим метод Активности onRequestPermissionsResult.

Ответ на запрос отслеживается как раз по константе MY_PERMISSIONS_REQUEST_CAMERA.

Объясняем пользователю необходимость запроса доступа к функциям устройства

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

При этом для проверки необходимости показа объяснений есть специальный метод shouldShowRequestPermissionRationale. Логика в коде будет следующая:

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

Дополнительную информацию о запросе App Permissions можно найти здесь: Request App Permissions.

Запрос App Permissions в Android у пользователя
5 (100%) 3 votes




Поделиться в соц. сетях:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">