我正在开发使用网络和位置功能的Windows手机应用程序。
使用任何此类功能或其他功能的所有应用都将首先显示同意对话框(“此应用将使用麦克风,您是否允许此操作?”)。
默认情况下,Windows运行时应用程序首次使用此对话框。但是Windows Phone的应用程序(通用应用程序仍在使用WinRT)呢?
我是否应该首次显示该功能的对话框,或者OS会自动处理?在调试模式下,什么都没有出现。我还在发布模式下测试了应用程序,但仍然没有。那么,我们是否必须手动处理这个问题,或者当要在其他设备上安装和使用软件包时,操作系统会处理这种对话框的显示?
答案 0 :(得分:2)
当您声明位置等功能时,您可以相信操作系统会为用户同意做正确的事情。在Windows上,正如您所见,此同意提示在首次运行时发生。 Windows Phone的模型是在安装时请求同意。无论哪种方式,系统都会为您提供提示 - 您无需实施自己的提示。
事实上,如果你仔细考虑一下,你会对这种自定义提示的接受/拒绝回答做些什么?同意提示的完整目的是代理访问敏感的WinRT API,这意味着除非已经同意,否则这些API将失败。应用程序无权自行做出决定,因为它会破坏同意的整个目的。因此,即使你自己接受/拒绝,你也无法用这个价值做任何事情;没有用于以编程方式设置权限的API,因为只有用户才能通过“设置”执行此操作。
同意提示只是在适当的时候初始化这些权限设置的一种方式,同样,您可以相信系统会做正确的事情。
答案 1 :(得分:1)
Windows Phone通用应用程序也使用WinRT API,下面描述的相同通用指南也适用于Windows Phone。但是,设置魅力有所不同。您测试的最佳方式是将Windows Phone应用程序发布为测试版,然后查看是否有同意提示。
http://msdn.microsoft.com/en-us/library/windows/apps/hh768223.aspx