我正在尝试查看我的应用程序,检查手机中是否启用了位置服务(GPS)。
我在谷歌上发现了很多链接,每一个都在讨论这段代码:
Geolocator geoLocator = new Geolocator();
if (geoLocator.LocationStatus == PositionStatus.Disabled)
{
//in this case the status of the gps is "DISABLED"
}
现在,我的问题在哪里?我的问题是无论如何我的状态始终为notInitialized
。
我尝试启用GPS。我试过禁用GPS。没什么,总是NotInitialized
。
唯一的区别是,如果GPS已关闭,则在调用await geoLocator.GetGeopositionAsync()
时,会抛出错误:
System.UnauthorizedAccessException: Access is denied.
您的应用无权访问位置数据。确保 您已在应用程序清单中定义了ID_CAP_LOCATION 在手机上,您已通过检查设置>打开了位置。 位置。
注意:
我有ID_CAP_LOCATION,但GPS已关闭,所以我需要检查它是否已启用,但上面的代码无效。为什么呢?