例如,在此page MSDN上说:
地理围栏会持久保存到磁盘,因此只需将它们添加到系统中一次。
但我无法弄清楚如何使用"那个功能。只有当我清除地理围栏监视器(GeofenceMonitor.Current.Geofences.Clear();
)然后重新创建它们或重新启动设备时,我的应用才会触发注册地理围栏的事件。
为了解我的问题,我有这个场景与官方的MS UWP地理定位样本:
你能解释一下我的原因吗?是否有一些"重新注册方法"我要打电话给谁?或者我是从坏的角度看待这个?或者我的方法是在每个应用启动时调用GeofenceMonitor.Current.Geofences.Clear();
吗?
由于
答案 0 :(得分:0)
在您的步骤中,我没有看到您触发退出状态。如果您始终处于您设置的地理围栏中,则在您运行时不会引发GeofenceStateChanged,同样,后台任务中的LocationTrigger也不会触发。因此,您不会两次获得输入状态。如果您先停留地理围栏,然后再次运行应用程序,则会在“事件”框中显示“已进入”事件。
此外,为了确保地理围栏可以多次使用,我们需要将Geofence.SingleUse property设置为false
并将Geofence.Duration property设置为足够大的时间间隔或0的时间间隔。
有关如何在UWP应用中使用地理围栏,请参阅Guidelines for geofencing apps和Set up a geofence。如果您使用的是移动模拟器,则可以参考此博客:Using the Windows Phone Emulator for testing apps with geofencing。