В настоящее время я получаю время и расстояние с помощью веб-службы (сейчас я не знаю, но вы можете сделать что-то очень похожее на это), и я сохраняю так (Локальное хранилище устройства):
dynamic obj = JsonConvert.DeserializeObject<Rootobject>(responseString);
Application.Current.Properties["gps_distancia"] = obj.rssUser.gps_distancia;
Application.Current.Properties["gps_tempo"] = obj.rssUser.gps_tempo;
А затем я вызываю время и расстояние хранения, полученное от веб-службы, и сохраняю в устройстве:
int tempoWebService = Int32.Parse(Application.Current.Properties["gps_tempo"].ToString());
int distanciaWebService = Int32.Parse(Application.Current.Properties["gps_distancia"].ToString());
await CrossGeolocator.Current.StartListeningAsync(TimeSpan.FromSeconds(tempoWebService), distanciaWebService, true, new Plugin.Geolocator.Abstractions.ListenerSettings
{
ActivityType = Plugin.Geolocator.Abstractions.ActivityType.AutomotiveNavigation,
AllowBackgroundUpdates = true,
DeferLocationUpdates = true,
DeferralDistanceMeters = 1,
DeferralTime = TimeSpan.FromSeconds(1),
ListenForSignificantChanges = true,
PauseLocationUpdatesAutomatically = false
});