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
Utilizzare al meglio gli oggetti HTML input sfruttando i nuovi type
Accedere da un App Service ad Azure SQL Database tramite AAD
Esecuzione condizionale dei template nelle pipeline YAML di Azure DevOps
Personalizzare gli elementi del controllo SwipeView in Xamarin Forms
Utilizzare le JavaScript Resize Observer API per rispondere ai cambiamenti di dimensione di un oggetto HTML
Ricevere notifiche push sull'app con Azure Monitor
Creare API GraphQL con ASP.NET Core e HotChocolate
Le novità di C# 9
Effettuare il multi-checkout in linea nelle pipeline di Azure DevOps
Connettersi ad ASP.NET Core SignalR da Blazor WebAssembly
Utilizzare i controlled component per gestire una form con React
Taggare automaticamente un team member in work item tramite Azure DevOps