gpt4 book ai didi

c# - GeolocationAccessStatus 更改事件不会引发

转载 作者:行者123 更新时间:2023-11-30 12:23:58 25 4
gpt4 key购买 nike

我正在使用 Windows 10 SDK(内部版本 10586)开发 Windows 移动应用,我需要订阅 Geolocator 的 StatusChanged 事件。

问题是,当我使用“设置”>“位置”菜单关闭地理定位时,不会调用我的 OnStatusChanged 方法。

    public async Task StartTracking()
{
// Request permission to access location
var accessStatus = await Geolocator.RequestAccessAsync();

switch (accessStatus)
{
case GeolocationAccessStatus.Allowed:
_geolocator = new Geolocator
{
ReportInterval = 2000,
MovementThreshold = 10d,
DesiredAccuracyInMeters = 10,
DesiredAccuracy = PositionAccuracy.High
};
_geolocator.PositionChanged += OnPositionChanged;
_geolocator.StatusChanged += OnStatusChanged;
break;

case GeolocationAccessStatus.Denied:
Messenger.Default.Send(new GeolocationDeniedAccessMessage(true));
break;

case GeolocationAccessStatus.Unspecified:
Messenger.Default.Send(new GeolocationDeniedAccessMessage(true));
break;
}
}

private void OnStatusChanged(Geolocator sender, StatusChangedEventArgs e)
{
switch (e.Status)
{
case PositionStatus.Ready:
Messenger.Default.Send(new GeolocationAvailabilityMessage(true));
Messenger.Default.Send(new GeolocationDeniedAccessMessage(false));
break;

case PositionStatus.Initializing:
break;

case PositionStatus.NoData:
Messenger.Default.Send(new GeolocationAvailabilityMessage(false));
break;

case PositionStatus.Disabled:
Messenger.Default.Send(new GeolocationDeniedAccessMessage(true));
break;

case PositionStatus.NotInitialized:
break;

case PositionStatus.NotAvailable:
Messenger.Default.Send(new GeolocationAvailabilityMessage(false));
break;
}
}

最佳答案

更新

问题似乎出在 EventHandler 的注册上。如果在调用 StartTracking() 后位置被禁用,则 GeolocationAccessStatus 将被“拒绝”,因此 EventHandler 永远不会被注册并且 OnStatusChanged 一旦用户在设置中打开位置跟踪,将不会被调用。尝试将 Geolocator 的初始化移出 GeolocationAccessStatus.Allowed 案例


确保您在 list package.appxmanifest 的功能选项卡中选择了 Location

enter image description here

关于c# - GeolocationAccessStatus 更改事件不会引发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35140166/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com