为什么Device Access Information.CreateFromDeviceClass会抛出FileNotFoundException

时间:2015-02-26 01:04:40

标签: geolocation windows-phone-8.1 win-universal-app

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

        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();
        }

1 个答案:

答案 0 :(得分:1)

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