Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Geolocator.RequestAccessAsync方法_C#_Windows Phone 8.1_Win Universal App - Fatal编程技术网

C# Geolocator.RequestAccessAsync方法

C# Geolocator.RequestAccessAsync方法,c#,windows-phone-8.1,win-universal-app,C#,Windows Phone 8.1,Win Universal App,我正在玩一个简单的通用应用程序。我试着访问手机的地理位置。根据MSDN,在访问设备位置之前,应该调用geologitor.RequestAccessAsync静态方法。问题是。。。没有这样的静态方法可用。。。只有Equals和ReferenceEquals静态方法是可用的。不存在事件返回值枚举GeolocationAccessStatus 我尝试在不调用此方法的情况下访问地理位置,它在emulator上工作。但在一部真正的手机上是另一回事 我正在使用的.NET Framework是4.5.3,尽

我正在玩一个简单的通用应用程序。我试着访问手机的地理位置。根据MSDN,在访问设备位置之前,应该调用
geologitor.RequestAccessAsync
静态方法。问题是。。。没有这样的静态方法可用。。。只有
Equals
ReferenceEquals
静态方法是可用的。不存在事件返回值枚举
GeolocationAccessStatus

我尝试在不调用此方法的情况下访问地理位置,它在emulator上工作。但在一部真正的手机上是另一回事

我正在使用的.NET Framework是4.5.3,尽管我没有看到这个方法/类的任何特定要求。在“能力”下检查“位置”也没有任何作用。另外,我可以轻松创建
geological
对象的新实例并使用其方法


我打赌这是一件非常简单/愚蠢的事情,我就是想不出来…

看起来文档已经针对Windows 10进行了更新,但这样做会丢失Windows(Phone)8.1的信息。Windows Phone 8.1不需要使用
RequestAccessAsync
,因为在用户从应用商店安装应用程序时已授予许可。

也愚弄了我,它只是通用应用程序的一部分-Windows 10

对于Win 8.1,如果您安装应用程序,然后关闭位置,然后运行应用程序,您可能需要此代码才能获得与RequestAccessAsync()相同的结果


所以在我的手机上使用
geological.GetGeopositionAsync()
方法无法完成的原因可能不同?调试应用程序从不请求位置检索权限是否正常(因为我不记得收到过它)?
Geolocator geolocator = new Geolocator();

            try
            {
                geoposition = await geolocator.GetGeopositionAsync(
                    maximumAge: TimeSpan.FromMinutes(5),
                    timeout: TimeSpan.FromSeconds(5));
            }
            catch (Exception ex)
            {
                // Location not allowed by user phone setting
                if (ex.HResult == -2147024891)
                {
                    ... LocationNotAuthorized
                }

                ...
            }