/ / Používa telefón na zistenie polohy iba GPS? - Android, gps

Používa telefón iba GPS, aby získal svoje miesto? android, gps

Vykonávam test, kde vypočítavame GPSpozícia telefónu s Androidom a zariadenia GPS, ktoré by sme chceli integrovať do nášho hardvéru. Aby bol test presný, musí telefón používať iba GPS a nie mobilné veže a WiFi.

Tu je kód, v ktorom nastavím, ktorú službu telefón používa.

LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
locationManager
.requestLocationUpdates(LocationManager.GPS_PROVIDER,
MIN_MILLISECONDS_BEFORE_UPDATE_LOCATION,
MIN_METERS_BEFORE_UPDATE_LOCATION,
new MyLocationListener(this));

Bude teda telefón používať iba GPS na zistenie polohy? Môžem "vypnúť WIFI, pretože telefóny posielajú do našej databázy aktuálne polohy. GPS zariadenie aj telefón sú v čase testu na pevnom mieste.

Viem, že už existujú otázky, ako používať GPS na získanie polohy, ale chcel by som sa ubezpečiť, že telefón používa iba GPS.

odpovede:

0 pre odpoveď č. 1

Svoju polohu môže nájsť iba pomocou GPS (za predpokladu, žetáto poloha je dosiahnuteľná, napríklad nie pod zemou alebo podobne) Použitím internetu zistí polohu rýchlejšie. Pretože vaše zariadenie je nehybné, mali by ste byť v poriadku.

Prečítajte si viac o nej tu.


0 pre odpoveď č. 2

predvolene používa gps a ak gps nefunguje, použije internet, takže niečo nepotrebuješ

Použi LocationManager.

LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
double longitude = location.getLongitude();
double latitude = location.getLatitude();

Volanie getLastKnownLocation() neblokuje - čo znamená, že sa vráti na nulu, ak momentálne nie je k dispozícii žiadna pozícia - takže si pravdepodobne chcete pozrieť absolvovanie LocationListener na metóda requestLocationUpdates () namiesto toho vám poskytne asynchrónne aktualizácie vašej polohy.

private final LocationListener locationListener = new LocationListener() {
public void onLocationChanged(Location location) {
longitude = location.getLongitude();
latitude = location.getLatitude();
}
}

lm.requestLocationUpdates (LocationManager.GPS_PROVIDER, 2000, 10, locationListener); Svojej prihláške budete musieť poskytnúť Povolenie ACCESS_FINE_LOCATION ak chcete používať GPS.

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

Môžete tiež pridať Povolenie ACCESS_COARSE_LOCATION keď GPS nie je k dispozícii, vyberte svojho poskytovateľa polohy pomocou metóda getBestProvider ().