U zgjidh: si të kontrolloni nëse vendndodhja është e aktivizuar në android

Shkrimi i një artikulli të gjerë se si të kontrolloni nëse një vendndodhje është aktivizuar në një pajisje Android mund të kërkojë një kuptim thelbësor të programimit Java dhe përdorimin e bibliotekave të ndryshme Android. Kështu, le të thellohemi në këtë.

Në peizazhin bashkëkohor të aplikacioneve celulare, qasja në vendndodhjen e një përdoruesi është bërë thelbësore për ofrimin e përvojave të personalizuara bazuar në pozicionin gjeografik të një përdoruesi. Ky funksionalitet është mjaft i disponueshëm në pajisjet e mundësuara nga Android. Megjithatë, përcaktimi nëse lokacioni është i aktivizuar apo jo është gjithashtu një aspekt kritik.

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);
    }
}

Kuptimi i kodit

Kodi i dhënë më sipër kontrollon nëse shërbimet e vendndodhjes janë aktivizuar në çdo pajisje Android në dy hapa kryesorë:

– Nëse versioni i pajisjes është KitKat ose më lart, ai përpiqet të marrë cilësimin e modalitetit të vendndodhjes dhe vërteton nëse është ndryshe nga "Modaliteti i vendndodhjes joaktiv". Nëse po, atëherë konfirmon që vendndodhja është aktivizuar.
– Për pajisjet që funksionojnë në versione më të vjetra se KitKat, ai merr listën e ofruesve të lejuar të vendndodhjes dhe kontrollon nëse është ekskluzivisht bosh. Nëse lista nuk është bosh, konfirmohet se vendndodhja është aktivizuar.

Roli i bibliotekave dhe funksioneve të ndryshme

Në këtë kod, ne kemi përdorur disa funksione dhe biblioteka specifike, kryesisht nga Kompleti i Zhvilluesve të Android:

  • Build.VERSION.SDK_INT: Kjo është një fushë që mban versionin SDK të platformës që funksionon aktualisht në pajisje.
  • Cilësimet. Siguria: Kjo është një klasë që menaxhon aksesin në cilësimet e sistemit të sigurisë globale, kryesisht cilësimet e sistemit që ndikojnë në privatësinë e përdoruesit.
  • Settings.Secure.getInt: Kjo metodë kthen vlerën e cilësimit të numrit të plotë të sigurt për një emër të caktuar.
  • Settings.Secure.LOCATION_MODE: Kjo përdoret për të marrë cilësimin aktual të modalitetit të vendndodhjes.
  • Settings.Secure.LOCATION_PROVIDERS_ALLOWED: Merr listën e ofruesve të lejuar të vendndodhjes.

Rregullimi për versione të ndryshme Android

Android ka evoluar ndjeshëm gjatë një dekade, dhe çdo version vjen me veçoritë dhe cilësimet e tij specifike. Prandaj, kodi udhëzues duhet të përfshijë nuancat delikate që shfaqen në versione të ndryshme të Android.

Kodi i dhënë kontrollon plotësisht vendndodhjen e aktivizuar në të gjitha versionet e Android, me fokus të veçantë në versionin KitKat, ku u prezantua "Modaliteti i vendndodhjes". Kjo dikotomi e ndan qasjen e vlerësimit në dy kategori kryesore - një për versionet Android KitKat dhe më lart, dhe një të veçantë për versionet nën KitKat.

Për ta përmbledhur, kontrollimi nëse shërbimi i vendndodhjes është i aktivizuar në një pajisje Android është një pasqyrë e paçmueshme për zhvilluesit. Ndihmon në të kuptuarit e funksionalitetit dhe lejon zhvilluesit të shfaqin një interpretim më specifik të aplikacionit për përdoruesit.

Mesazhe të ngjashme:

Lini një koment