Я не могу получить количество спутников при использовании команды geo fix, хотя 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.