【发布时间】:2018-07-31 01:45:57
【问题描述】:
如果我在应用程序清单(例如麦克风)中声明了权限,是否有办法检查用户是否启用了此权限,如果用户同意更改权限,是否可以更改权限?
这是用于用 C# 编写的 UWP 应用程序,以允许 cortana 与应用程序交互
【问题讨论】:
如果我在应用程序清单(例如麦克风)中声明了权限,是否有办法检查用户是否启用了此权限,如果用户同意更改权限,是否可以更改权限?
这是用于用 C# 编写的 UWP 应用程序,以允许 cortana 与应用程序交互
【问题讨论】:
有没有办法检查用户是否启用了这个权限?
在 try-catch 块中调用 MediaCapture.InitializeAsync 方法,在 MediaCaptureInitializationSettings 参数中指定要初始化麦克风。如果是第一次使用这个API,它会启动一个同意提示,以获取用户对应用程序访问麦克风的权限。如果用户已经拒绝授予权限,则会出现异常。
如果用户同意更改权限,我可以更改权限吗?
没有。完全控制权的是用户,没有 API 可以更改权限。试想一下,如果存在这样的 API,有多少应用会在未经用户同意的情况下秘密授予自己访问权限。
但是,当检测到权限以某种方式关闭时,您可以将Settings 应用程序启动到Privacy -> Microphone 页面,以便用户可以轻松地在那里授予权限。同样,用户完全控制了这一点。
await Windows.System.Launcher.LaunchUriAsync(new Uri("ms-settings:privacy-microphone"));
【讨论】: