Laajan artikkelin kirjoittaminen siitรค, kuinka tarkistaa, onko sijainti kรคytรถssรค Android-laitteessa, voi edellyttรครค laajaa Java-ohjelmoinnin ymmรคrtรคmistรค ja eri Android-kirjastojen kรคyttรถรค. Joten perehdytรครคn tรคhรคn.
Nykyaikaisessa mobiilisovellusmaailmassa kรคyttรคjรคn sijainnin saamisesta on tullut ratkaisevan tรคrkeรครค, jotta voidaan tarjota yksilรถllisiรค kokemuksia kรคyttรคjรคn maantieteellisen sijainnin perusteella. Tรคmรค toiminto on runsaasti saatavilla Android-laitteissa. Kuitenkin sen mรครคrittรคminen, onko sijainti kรคytรถssรค vai ei, on myรถs kriittinen nรคkรถkohta.
public boolean isLocationEnabled(Context context) {
int locationMode = 0;
String locationProviders;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
try {
locationMode = Settings.Secure.getInt(context.getContentResolver(), Settings.Secure.LOCATION_MODE);
} catch (Settings.SettingNotFoundException e) {
e.printStackTrace();
}
return locationMode != Settings.Secure.LOCATION_MODE_OFF;
} else {
locationProviders = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED);
return !TextUtils.isEmpty(locationProviders);
}
}
Koodin ymmรคrtรคminen
Yllรค annettu koodi tarkistaa, ovatko sijaintipalvelut kรคytรถssรค missรค tahansa Android-laitteessa kahdessa pรครคvaiheessa:
โ Jos laitteen versio on KitKat tai uudempi, se yrittรครค saada sijaintitilan asetuksen ja tarkistaa, onko se jokin muu kuin Sijaintitila pois pรครคltรค. Jos nรคin on, se vahvistaa, ettรค sijainti on kรคytรถssรค.
โ KitKat-versiota vanhemmissa laitteissa se hakee luettelon sallituista sijainnintarjoajista ja tarkistaa, onko se yksinomaan tyhjรค. Jos luettelo ei ole tyhjรค, sijainti on vahvistettu.
Eri kirjastojen ja toimintojen rooli
Tรคssรค koodissa olemme kรคyttรคneet muutamia tiettyjรค toimintoja ja kirjastoja, pรครคasiassa Android-kehittรคjรคpaketista:
- Build.VERSION.SDK_INT: Tรคmรค on kenttรค, joka sisรคltรครค laitteella tรคllรค hetkellรค kรคynnissรค olevan alustan SDK-version.
- Asetukset.Suojattu: Tรคmรค on luokka, joka hallitsee pรครคsyรค maailmanlaajuisiin suojattuihin jรคrjestelmรคasetuksiin, pรครคasiassa jรคrjestelmรคasetuksiin, jotka vaikuttavat kรคyttรคjien yksityisyyteen.
- Settings.Secure.getInt: Tรคmรค menetelmรค palauttaa suojatun kokonaisluvun asetusarvon tietylle nimelle.
- Asetukset.Suojattu.LOCATION_MODE: Tรคtรค kรคytetรครคn nykyisen sijaintitilan asetuksen saamiseen.
- Asetukset.Suojattu.LOCATION_PROVIDERS_ALLOWED: Hakee luettelon sallituista sijainnintarjoajista.
Lue lisรครค