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 и используемых в соответствии с условиями, описанными в разделе "".