Permission.RequestUserPermission
Declaration
public static void RequestUserPermission(string permission);Параметры
| Параметр | Описание |
|---|---|
| разрешение | Строка, описывающая разрешение на запрос. Для разрешений, которые Unity не предопределил, вы можете предоставить встроенные строки разрешений Android, такие как "android.permission.READ_CONTACTS". Список строк разрешений см. в документации Android по Manifest.permission. |
Описание
Попросить пользователя предоставить доступ к ресурсу устройства или информации, требующей авторизации.
Метод RequestUserPermission не ожидает ответа пользователя и возвращается немедленно. Если отображается диалог системного разрешения, приложение приостанавливает работу.
Вы можете использовать метод HasUserAuthorizedPermission для проверки статуса запроса разрешения.
В следующем примере кода проверяется, предоставил ли пользователь доступ к микрофону, и запрашивается разрешение, если доступ не был предоставлен.
using UnityEngine; using UnityEngine.Android;
public class RequestPermissionExample : MonoBehaviour { void Start() { if (Permission.HasUserAuthorizedPermission(Permission.Microphone)) { // The user has authorized use of the microphone. } else { // The user has not authorized microphone usage. // Ask for microphone permission. Permission.RequestUserPermission(Permission.Microphone); } } }
Declaration
public static void RequestUserPermission(string permission, Android.PermissionCallbacks callbacks);Параметры
| Параметр | Описание |
|---|---|
| разрешение | Строка, описывающая разрешение на запрос. Для разрешений, которые Unity не предопределил, вы можете предоставить встроенные строки разрешений Android, такие как "android.permission.READ_CONTACTS". Список строк разрешений см. в документации Android по Manifest.permission. |
| обратные вызова | Экземпляр обратных вызовов, вызываемых при выполнении запроса на разрешение. |
Описание
Попросить пользователя предоставить доступ к ресурсу устройства или информации, требующей авторизации.
Метод RequestUserPermission не ожидает ответа пользователя и возвращается немедленно. Если отображается диалог системного разрешения, приложение приостанавливает работу.
Эта версия RequestUserPermission вызывает экземпляр обратных вызовов при выполнении.
Вы можете использовать метод HasUserAuthorizedPermission для проверки статуса запроса разрешения.
Следующий пример кода проверяет, предоставил ли пользователь доступ к микрофону, и запрашивает разрешение с обратными вызовами, если доступ не был предоставлен.
using UnityEngine; using UnityEngine.Android;
public class RequestPermissionExample : MonoBehaviour { internal void PermissionCallbacks_PermissionDeniedAndDontAskAgain(string permissionName) { Debug.Log($"{permissionName} PermissionDeniedAndDontAskAgain"); }
internal void PermissionCallbacks_PermissionGranted(string permissionName) { Debug.Log($"{permissionName} PermissionCallbacks_PermissionGranted"); }
internal void PermissionCallbacks_PermissionDenied(string permissionName) { Debug.Log($"{permissionName} PermissionCallbacks_PermissionDenied"); }
void Start() { if (Permission.HasUserAuthorizedPermission(Permission.Microphone)) { // The user authorized use of the microphone. } else { // The user has not authorized microphone usage. // Request microphone permission with callbacks. var callbacks = new PermissionCallbacks(); callbacks.PermissionDenied += PermissionCallbacks_PermissionDenied; callbacks.PermissionGranted += PermissionCallbacks_PermissionGranted; callbacks.PermissionDeniedAndDontAskAgain += PermissionCallbacks_PermissionDeniedAndDontAskAgain; Permission.RequestUserPermission(Permission.Microphone, callbacks); } } }