Le API di localizzazione di WinRT permettono di monitorare quando un dispositivo entra (ed esce) da determinate aree definite da oggetti Geofence.
L'area può essere definita da latitudine, longitudine, raggio e possono essere impostati tempi di permanenza oltre all'evento, se entrata o uscita, di cui essere notificati.
string id = "GeofenceId"; var position = new BasicGeoposition(); position.Latitude = 40; position.Longitude = -120; var geocircle = new Geocircle(position, 100); var mask = MonitoredGeofenceStates.Entered | MonitoredGeofenceStates.Exited; var area = new Geofence(id, geocircle, mask, false); GeofenceMonitor.Current.Geofences.Clear(); GeofenceMonitor.Current.Geofences.Add(area); GeofenceMonitor.Current.GeofenceStateChanged += (GeofenceMonitor obj, object args) => { var reports = obj.ReadReports(); Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { foreach (GeofenceStateChangeReport report in reports) { log.AppendLine(report.Geofence.Id); log.AppendLine(report.NewState.ToString()); } status.Text = log.ToString(); }); };
Tutto è gestito dall'oggetto GeofenceMonitor ed il monitoraggio inizia quando aggiungiamo un Geofence alla collezione Geofences. Grazie all'evento GeofenceStateChanged si è notificati quando l'utente entra e esce dall'area.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Usare le collection expression per inizializzare una lista di oggetti in C#
Effettuare delete massive con Entity Framework Core 7
Code scanning e advanced security con Azure DevOps
Gestire i null nelle reactive form tipizzate di Angular
Ottimizzare la latenza in Blazor 8 tramite InteractiveAuto render mode
Sostituire la GitHub Action di login su private registry
Disabilitare automaticamente un workflow di GitHub
Sviluppare un'interfaccia utente in React con Tailwind CSS e Preline UI
Inizializzare i container in Azure Container Apps
Utilizzare un service principal per accedere a Azure Container Registry
Usare lo spread operator con i collection initializer in C#
Verificare la provenienza di un commit tramite le GitHub Actions