【发布时间】:2016-04-11 01:35:58
【问题描述】:
我想找到我的 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 这应该可以,但似乎不起作用,我不知道为什么。 我也尝试过像这样使用位置附加功能:
var sats = location.Extras.GetInt("satellites");
但这也只会返回 0。
注意:我完全在 android 模拟器中对此进行测试,并通过 telnet 使用以下命令设置位置:
geo fix 9 9 9 9
应该将 lat 和 long 设置为 9,将高度设置为 9,将卫星设置为 9。这(应该是?)工作,因为我的代码首先获取 9 的 lat long 和 alt,然后尝试获取卫星编号。
【问题讨论】:
标签: c# android xamarin gps satellite