At skrive en omfattende artikel om, hvordan man kontrollerer, om en placering er aktiveret pรฅ en Android-enhed, kan krรฆve en omfattende forstรฅelse af Java-programmering og brug af forskellige Android-biblioteker. Lad os derfor dykke ned i dette.
I det moderne mobile applikationslandskab er adgang til en brugers placering blevet afgรธrende for at give personlige oplevelser baseret pรฅ en brugers geografiske position. Denne funktionalitet er rigeligt tilgรฆngelig pรฅ enheder drevet af Android. Det er dog ogsรฅ et kritisk aspekt at bestemme, om placeringen er aktiveret eller ej.
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รฅelse af koden
Den ovenfor angivne kode kontrollerer, om placeringstjenesterne er aktiveret pรฅ enhver Android-enhed i to hovedtrin:
โ Hvis enhedsversionen er KitKat eller nyere, forsรธger den at hente placeringstilstandsindstillingen og validerer, om den er andet end 'Placeringstilstand fra'. Hvis det er tilfรฆldet, bekrรฆfter det, at placeringen er aktiveret.
โ For enheder, der kรธrer pรฅ versioner, der er รฆldre end KitKat, henter den listen over tilladte lokationsudbydere og kontrollerer, om den udelukkende er tom. Hvis listen ikke er tom, bekrรฆftes det, at placeringen er aktiveret.
Rolle af forskellige biblioteker og funktioner
I denne kode har vi gjort brug af nogle fรฅ specifikke funktioner og biblioteker, primรฆrt fra Android Developer's Kit:
- Build.VERSION.SDK_INT: Dette er et felt, der indeholder SDK-versionen af โโden platform, der i รธjeblikket kรธrer pรฅ enheden.
- Indstillinger.Sikker: Dette er en klasse, der administrerer adgang til globale sikre systemindstillinger, primรฆrt systemindstillinger, der pรฅvirker brugernes privatliv.
- Settings.Secure.getInt: Denne metode returnerer den sikre heltalsindstillingsvรฆrdi for et givet navn.
- Settings.Secure.LOCATION_MODE: Dette bruges til at fรฅ den aktuelle placeringsindstilling.
- Settings.Secure.LOCATION_PROVIDERS_ALLOWED: Henter listen over tilladte lokationsudbydere.
Lรฆs mere