在Windows Phone上使用功能的同意对话框

在Windows Phone上使用功能的同意对话框

问题描述:

我正在使用使用网络和位置功能的Windows Phone应用程序。在Windows Phone上使用功能的同意对话框

所有使用这些功能或其他功能的应用程序都将首先显示一个同意对话框(“此应用程序将使用麦克风,您允许这么做吗?”)。

默认情况下,Windows Runtime应用程序首次使用此对话框。但是,Windows Phone的应用程序(通用应用程序,仍然使用WinRT)呢?

我应该在第一次使用该功能时显示一个对话框,或者操作系统自动处理该对话框?在调试模式下,什么也没有出现。我也在Release模式下测试了应用程序,但仍然没有任何结果。那么,我们是否必须手动处理这个问题,否则当软件包要在其他设备上安装和使用时,操作系统将处理这种对话框的显示?

您可以相信,操作系统会做正确的事情为用户同意在声明能力,诸如位置。在Windows上,如您所见,此同意提示在首次运行时发生。 Windows Phone的模型是在安装时征求同意。无论哪种方式,系统都会照顾到你的提示 - 你不需要实现自己的提示。

事实上,如果您仔细考虑,您会如何处理来自这种自定义提示的接受/拒绝答案?同意提示的全部目的是让代理人访问敏感的WinRT API,这意味着除非授予同意,否则这些API将失败。应用程序无法自行作出该决定的权力,因为它会打败同意的整个目的。因此,即使你自己接受/拒绝,你也无法用这个价值做任何事情。没有API以编程方式设置权限,因为只有用户可以通过设置来执行此操作。

同意提示只是在适当的时候初始化这些权限设置的一种方法,并且您可以相信系统会做正确的事情。

+0

非常感谢您的回答。现在你已经把它写成文字,如果我想得更好,手动创建提示看起来很奇怪。基本上,在我的应用程序中,如果用户不接受位置同意,他或她不能真正使用它,它们会重定向到菜单页面。再次感谢您的澄清。 – VasileF 2014-12-04 18:30:33

+0

是的,这里的模式是,如果您使用未获得同意的API,它将会失败并拒绝访问。这是您提醒用户有关权限的信号,或将它们引导至其他地方。 – 2014-12-04 18:43:04

+0

因此,如果我从商店安装此应用程序但拒绝位置权限,安装是否继续或将会被暂停?然后,当我想要获取用户位置时,应用程序可能会崩溃,但应用程序没有权限? – VasileF 2014-12-05 09:46:56

Windows Phone通用应用程序也使用WinRT API,下面介绍的相同的一般准则也适用于Windows Phone。但是,设置魅力存在差异。要测试的最佳方式是将Windows Phone应用程序发布为测试版,然后查看是否存在同意提示。

http://msdn.microsoft.com/en-us/library/windows/apps/hh768223.aspx

+0

如果我没有弄错,当应用程序从商店安装时,Facebook官方微软应用程序显示这样的对话框。我不知道这是否由操作系统自动处理或不... – VasileF 2014-12-02 16:13:03

+0

测试版的想法是不错的,但我想也许有这样的事情,然后稳定更新。 – VasileF 2014-12-02 16:14:03

+1

以下是关于测试应用程序的信息http://msdn.microsoft.com/en-us/library/windows/apps/jj215598(v=vs.105).aspx – 2014-12-02 20:53:42