[英]Hololens 2 / MRTK / Unity / Asking for permissions programmatically
是否可以检查应用程序是否具有权限以及是否在 Hololens 2 上以编程方式请求权限?
如果您错过了权限弹出窗口或错误地单击“否”,则有时在清单中已经声明了权限,该应用程序不再请求权限。
团结 2020.3.13f1
MRTK 2.7.3
- 更新 -
我在这里要求这个功能:
https://github.com/microsoft/MixedRealityToolkit-Unity/issues/10675
请支持请求!
要检查 HoloLens 2 上的麦克风和摄像头权限,我们可以利用 WinRT API MediaCapture 。 如果应用没有麦克风和摄像头权限,调用InitializeAsync
方法时会抛出UnauthorizedAccessException
。
如果我们遇到此异常,则无法以编程方式重新请求许可。 我们应该让用户在设置中使用ms-settings:appsfeatures-app
URI 再次授予我们所需的权限,这可以打开我们应用程序的高级设置页面。
#if ENABLE_WINMD_SUPPORT
using (MediaCapture mediaCapture = new MediaCapture())
try
{
await mediaCapture.InitializeAsync();
}
catch (UnauthorizedAccessException)
{
await Windows.System.Launcher.LaunchUriAsync(new Uri("ms-settings:appsfeatures-app"));
}
#endif
检查权限的另一种方法是使用AppCapability Class 。 CheckAccess
方法将返回访问状态。 如果状态为DeniedByUser
,我们仍然需要使用ms-settings:appsfeatures-app
URI 打开我们应用的高级设置页面,并让用户授予我们所需的权限。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.