【发布时间】:2011-03-04 18:32:21
【问题描述】:
通过 adb 使用 geo fix 命令时,我似乎无法获取卫星计数。
地理修复帮助内容如下:
geo fix <longitude> <latitude> [<altitude> [<satellites>]]
allows you to send a simple GPS fix to the emulated system
The parameters are:
<longitude> longitude, in decimal degrees
<latitude> latitude, in decimal degrees
<altitude> optional altitude in meters
<satellites> number of satellites being tracked (1-12)
我使用如下命令设置地理位置触发 OnLocationChanged 执行:
geo fix -106.1221 52.1311 514 5
在 OnlocationChanged 中:
Location newestloc = loc;
Bundle sats = newestloc.getExtras();
int satcount = 0;
satcount = sats.getInt("satellites");
但是,每当我调用 satcount 时,我总是得到 0。通过地理定位的卫星数量是否不计算在内?
还有其他方法可以获取手机 GPS 当前看到的卫星数量吗?
编辑: 我也尝试过以下代码:
GpsStatus gpsstat = mlocManager.getGpsStatus(null);
Iterable sats = gpsstat.getSatellites();
Iterator satI = sats.iterator();
int count = 0;
while(satI.hasNext()){
GpsSatellite gpssatellite = (GpsSatellite) satI.next();
if (gpssatellite.usedInFix()){
count++;
}
}
每次我得到修复时,这应该至少返回 1,但它永远不会从 0 改变。
【问题讨论】: