Я хочу найти количество спутников, которые использует мой GPS, но что бы я ни делал, он всегда возвращает 0. Я гуглил и много читал о людях с такой же или похожей проблемой, но ни одно из исправлений мне не помогло. Он все равно вернет только 0.
Вот моя функция:
private static int TotalSatillites(Android.Locations.LocationManager locationProviders)
{
var gpsStatus = locationProviders.GetGpsStatus(null);
var satilliteIterator = gpsStatus.Satellites.Iterator();
var totalSatillies = 0;
while (satilliteIterator.HasNext)
{
var satillite = (GpsSatellite)satilliteIterator.Next();
if (satillite.UsedInFix())
{
totalSatillies++;
}
}
return totalSatillies;
}
AFAIK Это должно работать, но не работает, и я не могу понять, почему. Я также пробовал использовать локации Extras, например:
var sats = location.Extras.GetInt("satellites");
Но это также всегда возвращается только 0.
Примечание. Я тестирую это полностью в эмуляторе Android и устанавливаю местоположение через telnet с помощью команды:
geo fix 9 9 9 9
Который должен установить широту и долготу на 9, высоту на 9 и спутники на 9. Это (должно быть?) Работает, поскольку мой код сначала получает 9 для долготы и альта, а затем пытается получить номера спутников.