为什么 DeviceAccessInformation.CreateFromDeviceClass 抛出 FileNotFoundException

Why does DeviceAccessInformation.CreateFromDeviceClass throw a FileNotFound Exception

我有以下代码片段,用于检查我是否可以访问定位服务。它构建正常,但在设备和模拟器上,我在开关 (accessInfo.CurrentStatus) 行上得到一个 FileNotFound 异常(Google 上没有关于此的任何内容)

        var accessInfo = DeviceAccessInformation.CreateFromDeviceClass(DeviceClass.Location);
        accessInfo.AccessChanged += OnAccessChanged;
        switch (accessInfo.CurrentStatus)
        {
            case DeviceAccessStatus.Unspecified:                    
                break;
            case DeviceAccessStatus.Allowed:
                break;
            case DeviceAccessStatus.DeniedByUser:
                break;
            case DeviceAccessStatus.DeniedBySystem:
                break;
            default:
                throw new ArgumentOutOfRangeException();
        }

Windows 和 Windows Phone 中的设备堆栈在 8.x 中并不完全相同。地理位置是它们不同的一个例子,这在这个错误中表现出来。您可以改用 Geolocator.LocationStatus API。请注意,在 Windows Phone 上,应用始终被授予定位功能(这是安装时的提示),尽管用户仍可以全局关闭定位功能。