Привет, я пытаюсь создать одно приложение в формах Xamarin, которое сильно зависит от служб определения местоположения.
Используя Xamarin.Essentials, я могу получить местоположение, но в Android он дает последнее известное местоположение, а иногда и не очень точное.
Проблема 1.
Но я не могу добавить прослушиватель местоположения, чтобы после изменения местоположения пользователя я мог получать уведомления.
Проблема 2. Как точно узнать, отключил ли пользователь местоположение телефона или местоположение приложения?
Пожалуйста, помогите мне .. Спасибо заранее





Проблема №1
Я не знаю, но я думаю, что Xamarin.Essentials еще не имеет функции прослушивания местоположения, может быть неправильно, но вы можете использовать этот плагин от jamesmontemagno (также основного разработчика Xamarin.Essentials), этот плагин может отслеживать изменения геолокации так:
CrossGeolocator.Current.IsListening
Проблема №2
Следуя документации здесь, вы получаете исключение для следующих случаев: разрешение не было предоставлено или если местоположение не включено/поддерживается
try
{
var location = await Geolocation.GetLastKnownLocationAsync();
if (location != null)
{
Console.WriteLine($"Latitude: {location.Latitude}, Longitude: {location.Longitude}, Altitude: {location.Altitude}");
}
}
catch (FeatureNotSupportedException fnsEx)
{
// Handle not supported on device exception
}
catch (FeatureNotEnabledException fneEx)
{
// Handle not enabled on device exception
}
catch (PermissionException pEx)
{
// Handle permission exception
}
catch (Exception ex)
{
// Unable to get location
}
@NileshJha рад, что смог помочь, не забудьте проголосовать/пометить как одобренный, если это решило вашу проблему, если есть что-то, что вы хотели бы спросить, дайте мне знать
Сделал это .. Спасибо
простите, оживите вопрос, но в xamarin essentials до сих пор нет такой функции?
@Frnk, быстрая проверка Документы, и кажется, что у него все еще нет этой функции.
Спасибо, чувак.. Постараюсь реализовать прослушиватель и сообщу тебе