Å skrive en omfattende artikkel om hvordan du sjekker om en plassering er aktivert på en Android-enhet kan kreve en betydelig forståelse av Java-programmering og bruk av forskjellige Android-biblioteker. Derfor, la oss fordype oss i dette.
I det moderne mobilapplikasjonslandskapet har tilgang til en brukers plassering blitt avgjørende for å gi personlige opplevelser basert på en brukers geografiske posisjon. Denne funksjonaliteten er rikelig tilgjengelig på enheter drevet av Android. Imidlertid er det også et kritisk aspekt å avgjøre om plasseringen er aktivert eller ikke.
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);
}
}
Forstå koden
Den ovennevnte koden sjekker om stedstjenestene er aktivert på en hvilken som helst Android-enhet i to hovedtrinn:
– Hvis enhetsversjonen er KitKat eller nyere, prøver den å få posisjonsmodusinnstillingen og validerer om den er noe annet enn 'Location Mode Off'. I så fall bekrefter den at plasseringen er aktivert.
– For enheter som kjører på versjoner som er eldre enn KitKat, henter den listen over tillatte lokasjonsleverandører og sjekker om den utelukkende er tom. Hvis listen ikke er tom, bekreftes det at plasseringen er aktivert.
Rollen til forskjellige biblioteker og funksjoner
I denne koden har vi brukt noen få spesifikke funksjoner og biblioteker, primært fra Android Developer's Kit:
- Build.VERSION.SDK_INT: Dette er et felt som inneholder SDK-versjonen av plattformen som for øyeblikket kjører på enheten.
- Innstillinger.Sikkert: Dette er en klasse som administrerer tilgang til globale sikre systeminnstillinger, først og fremst systeminnstillinger som påvirker brukernes personvern.
- Settings.Secure.getInt: Denne metoden returnerer den sikre heltallsinnstillingsverdien for et gitt navn.
- Settings.Secure.LOCATION_MODE: Dette brukes for å få gjeldende plasseringsmodusinnstilling.
- Settings.Secure.LOCATION_PROVIDERS_ALLOWED: Henter listen over tillatte lokasjonsleverandører.
Les mer