版本:Unity 6 (6000.0)
语言中文
  • C#

Permission.RequestUserPermission

建议更改

成功!

感谢您帮助我们改进 Unity 文档的质量。尽管我们无法接受所有提交,但我们会阅读用户提出的每一项建议更改,并在适用时进行更新。

关闭

提交失败

由于某种原因,您建议的更改无法提交。请在几分钟后<a>再试</a>。感谢您抽出时间帮助我们改进 Unity 文档的质量。

关闭

取消

声明

public static void RequestUserPermission(string permission);

声明

public static void RequestUserPermission(string permission, Android.PermissionCallbacks callbacks);

参数

permission 描述要请求的权限的字符串。对于 Unity 尚未预定义的权限,您可以提供 Android 自带的权限字符串,如“android.permission.READ_CONTACTS”。要获取权限字符串的列表,请参阅 Android 在Manifest.permission上的文档。
callbacks 执行权限请求时调用的回调实例。

说明

要求用户授予对需要授权的设备资源或信息的访问权限。

using UnityEngine;
using UnityEngine.Android;

public class RequestPermissionScript : 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 { bool useCallbacks = false; if (!useCallbacks) { // We do not have permission to use the microphone. // Ask for permission or proceed without the functionality enabled. Permission.RequestUserPermission(Permission.Microphone); } else { var callbacks = new PermissionCallbacks(); callbacks.PermissionDenied += PermissionCallbacks_PermissionDenied; callbacks.PermissionGranted += PermissionCallbacks_PermissionGranted; callbacks.PermissionDeniedAndDontAskAgain += PermissionCallbacks_PermissionDeniedAndDontAskAgain; Permission.RequestUserPermission(Permission.Microphone, callbacks); } } } }