Activity.RequestPermissions Метод

Определение

Перегрузки

Имя Описание
RequestPermissions(String[], Int32)

Запрашивает разрешения, предоставляемые этому приложению.

RequestPermissions(String[], Int32, Int32)

Запрашивает разрешения, предоставляемые этому приложению.

RequestPermissions(String[], Int32)

Запрашивает разрешения, предоставляемые этому приложению.

[Android.Runtime.Register("requestPermissions", "([Ljava/lang/String;I)V", "", ApiSince=23)]
public void RequestPermissions(string[] permissions, int requestCode);
[<Android.Runtime.Register("requestPermissions", "([Ljava/lang/String;I)V", "", ApiSince=23)>]
member this.RequestPermissions : string[] * int -> unit

Параметры

permissions
String[]

Строка: запрошенные разрешения. Должен быть непуст и не пуст.

requestCode
Int32

int: код запроса конкретного приложения для сопоставления с результатом, сообщаемом onRequestPermissionsResult(int, String, int). Должно быть = >0.

Атрибуты

Комментарии

Запрашивает разрешения, предоставляемые этому приложению. Эти разрешения должны быть запрошены в манифесте, они не должны предоставляться вашему приложению, и они должны иметь уровень защиты опасно, независимо от того, объявляются ли они платформой или сторонним приложением. Обычные разрешения PermissionInfo.PROTECTION_NORMAL предоставляются во время установки при запросе в манифесте. Разрешения подписи PermissionInfo.PROTECTION_SIGNATURE предоставляются во время установки при запросе в манифесте, а подпись приложения соответствует подписи приложения, объявляющего разрешения.

Перед вызовом этого API вызов должен быть вызовомRequestPermissionRationale(String), чтобы проверить, рекомендует ли система отображать логический пользовательский интерфейс перед запросом разрешения.

Если у вашего приложения нет запрошенных разрешений, пользователю будет предоставлен пользовательский интерфейс для их принятия. После того как пользователь принял или отклонил запрошенные разрешения, вы получите обратный вызов в onRequestPermissionsResult(int, String, int) о том, были ли предоставлены или нет разрешения.

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

Этот метод может запустить действие, позволяющее пользователю выбрать разрешения на предоставление и отклонение. Поэтому вы должны быть готовы к приостановке и возобновлению действия. Кроме того, для предоставления некоторых разрешений может потребоваться перезапуск приложения. В таком случае система повторно создаст стек действий перед доставкой результата в onRequestPermissionsResult(int, String, int).

При проверке наличия разрешения следует использовать checkSelfPermission(String).

Невозможно запросить разрешение, если действие не задает значение true, так как в этом случае действие не будет получать обратные вызовы результатов, включая onRequestPermissionsResult(int, String, int).

Репозиторий примеров разрешений демонстрирует, как использовать этот метод для запроса разрешений во время выполнения.

См. также:

Вызывает: IllegalArgumentException, если requestCode является отрицательным.

Справочник по Android для android.app.Activity.requestPermissions.

Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".

Применяется к

RequestPermissions(String[], Int32, Int32)

Запрашивает разрешения, предоставляемые этому приложению.

[Android.Runtime.Register("requestPermissions", "([Ljava/lang/String;II)V", "", ApiSince=35)]
public void RequestPermissions(string[] permissions, int requestCode, int deviceId);
[<Android.Runtime.Register("requestPermissions", "([Ljava/lang/String;II)V", "", ApiSince=35)>]
member this.RequestPermissions : string[] * int * int -> unit

Параметры

permissions
String[]

Строка: запрошенные разрешения. Должен быть непуст и не пуст.

requestCode
Int32

int: код запроса конкретного приложения для сопоставления с результатом, сообщаемом onRequestPermissionsResult(int, String, int). Должно быть = >0.

deviceId
Int32

int: приложение запрашивает разрешения для этого устройства. Основное или физическое устройство назначается Context.DEVICE_ID_DEFAULT, а виртуальные устройства назначаются уникальными идентификаторами устройств.

Атрибуты

Комментарии

Запрашивает разрешения, предоставляемые этому приложению. Эти разрешения должны быть запрошены в манифесте, они не должны предоставляться вашему приложению, и они должны иметь уровень защиты опасно, независимо от того, объявляются ли они платформой или сторонним приложением. Обычные разрешения PermissionInfo.PROTECTION_NORMAL предоставляются во время установки при запросе в манифесте. Разрешения подписи PermissionInfo.PROTECTION_SIGNATURE предоставляются во время установки при запросе в манифесте, а подпись приложения соответствует подписи приложения, объявляющего разрешения.

Перед вызовом этого API вызов должен быть вызовомRequestPermissionRationale(String), чтобы проверить, рекомендует ли система отображать логический пользовательский интерфейс перед запросом разрешения.

Если у вашего приложения нет запрошенных разрешений, пользователю будет предоставлен пользовательский интерфейс для их принятия. После того как пользователь принял или отклонил запрошенные разрешения, вы получите обратный вызов в onRequestPermissionsResult(int, String, int) о том, были ли предоставлены или нет разрешения.

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

Этот метод может запустить действие, позволяющее пользователю выбрать разрешения на предоставление и отклонение. Поэтому вы должны быть готовы к приостановке и возобновлению действия. Кроме того, для предоставления некоторых разрешений может потребоваться перезапуск приложения. В таком случае система повторно создаст стек действий перед доставкой результата в onRequestPermissionsResult(int, String, int).

При проверке наличия разрешения следует использовать checkSelfPermission(String).

Невозможно запросить разрешение, если действие не задает значение true, так как в этом случае действие не будет получать обратные вызовы результатов, включая onRequestPermissionsResult(int, String, int).

Репозиторий примеров разрешений демонстрирует, как использовать этот метод для запроса разрешений во время выполнения.

См. также:

Вызывает: IllegalArgumentException, если requestCode является отрицательным.

Справочник по Android для android.app.Activity.requestPermissions.

Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".

Применяется к