1.配置LauncherManifest.xml权限
<uses-permission android:name="android.permission.CAMERA"/>
<uses-feature android:name="android.permission.camera"/>
2.代码:
使用 Permission.HasUserAuthorizedPermission(Permission.Camera)方法
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Android;
public class TestCamera : MonoBehaviour
{
private void Awake()
{
OpenCameraPermisson();
}
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
private void OpenCameraPermisson()
{
if (Permission.HasUserAuthorizedPermission(Permission.Camera))
{
return;
}
bool useCallbacks = true;
if (!useCallbacks)
{
// We do not have permission to use the microphone.
// Ask for permission or proceed without the functionality enabled.
Permission.RequestUserPermission(Permission.Camera);
}
else
{
var callbacks = new PermissionCallbacks();
callbacks.PermissionDenied += PermissionCallbacks_PermissionDenied;
callbacks.PermissionGranted += PermissionCallbacks_PermissionGranted;
callbacks.PermissionDeniedAndDontAskAgain += PermissionCallbacks_PermissionDeniedAndDontAskAgain;
Permission.RequestUserPermission(Permission.Camera, callbacks);
}
}
void PermissionCallbacks_PermissionDenied(string PermissionName)
{
Debug.Log($"PermissionCallbacks_PermissionDenied[{PermissionName}]");
}
//本次允许
void PermissionCallbacks_PermissionGranted(string PermissionName)
{
Debug.Log($"PermissionCallbacks_PermissionGranted[{PermissionName}]");
}
void PermissionCallbacks_PermissionDeniedAndDontAskAgain(string PermissionName)
{
Debug.Log($"PermissionCallbacks_PermissionDeniedAndDontAskAgain[{PermissionName}]");
}
}