ОСТОРОЖНО МОШЕННИКИ! В последнее время в соиальных сетях учстились случаи педложения помощи в написании прогамм от лиц, прикрвающихся сайтом 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.

4.3/5 - (9 голосов)



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

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

Ваш адрес email не будет опубликован.