Есть ли способ сохранить GPS в приложении Xamarin Forms (Android / iOS), даже если приложение находится в спящем режиме или в фоновом режиме? Я использую плагин Geolocator для прослушивания изменений GPS, но он не выполняется, когда приложение находится в спящем режиме. Если я помещаю приложение в фоновом режиме, я вижу, что значок gps в уведомлении не там, поэтому gps не работает в фоновом режиме. Это пример кода, который я использую для получения местоположения GPS:
async Task StartListening()
{
try
{
if (CrossGeolocator.Current.IsListening)
return;
await CrossGeolocator.Current.StartListeningAsync(TimeSpan.FromMilliseconds(500), _locationTrackingFrequency, true, new ListenerSettings
{
ActivityType = ActivityType.AutomotiveNavigation,
AllowBackgroundUpdates = true,
DeferLocationUpdates = true,
DeferralDistanceMeters = 1,
DeferralTime = TimeSpan.FromSeconds(1),
ListenForSignificantChanges = false,
PauseLocationUpdatesAutomatically = false
});
CrossGeolocator.Current.PositionChanged += CrossGeolocator_Current_PositionChanged;
}
catch (Exception exception)
{
await LogEvents.LogEvent(exception.ToString(), 15);
}
}
public async void CrossGeolocator_Current_PositionChanged(object sender, PositionEventArgs e)
{
Device.BeginInvokeOnMainThread(() => { IsBusy = true; });
}
Так что метод CrossGeolocator_Current_PositionChanged не выполняется в фоновом режиме ...