Atrisināts: kā pārbaudīt, vai android ir iespējota atrašanās vieta

Pēdējā atjaunošana: 09/11/2023

Lai uzrakstītu plašu rakstu par to, kā pārbaudīt, vai Android ierīcē ir iespējota atrašanās vieta, var būt nepieciešama būtiska Java programmēšanas izpratne un dažādu Android bibliotēku izmantošana. Tādējādi iedziļināsimies šajā.

Mūsdienu mobilo lietojumprogrammu vidē piekļuve lietotāja atrašanās vietai ir kļuvusi ļoti svarīga, lai nodrošinātu personalizētu pieredzi, pamatojoties uz lietotāja ģeogrāfisko stāvokli. Šī funkcionalitāte ir plaši pieejama ierīcēs, kuras darbina Android. Tomēr arī kritisks aspekts ir noteikt, vai atrašanās vieta ir iespējota vai nē.

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

Koda izpratne

Iepriekš norādītais kods pārbauda, ​​vai atrašanās vietas noteikšanas pakalpojumi ir iespējoti jebkurā Android ierīcē, veicot divas galvenās darbības:

– Ja ierīces versija ir KitKat vai jaunāka, tā mēģina iegūt atrašanās vietas režīma iestatījumu un pārbauda, ​​vai tas nav “Atrašanās vietas režīms izslēgts”. Ja tā, tas apstiprina, ka atrašanās vieta ir iespējota.
- Ierīcēm, kurās darbojas versijas, kas vecākas par KitKat, tas iegūst atļauto atrašanās vietu nodrošinātāju sarakstu un pārbauda, ​​vai tas ir tikai tukšs. Ja saraksts nav tukšs, tiek apstiprināts, ka atrašanās vieta ir iespējota.

Dažādu bibliotēku un funkciju loma

Šajā kodā mēs esam izmantojuši dažas konkrētas funkcijas un bibliotēkas, galvenokārt no Android izstrādātāja komplekta:

  • Build.VERSION.SDK_INT: Šis ir lauks, kurā atrodas platformas SDK versija, kas pašlaik darbojas ierīcē.
  • Iestatījumi.Drošs: Šī ir klase, kas pārvalda piekļuvi globālajiem drošās sistēmas iestatījumiem, galvenokārt sistēmas iestatījumiem, kas ietekmē lietotāja privātumu.
  • Settings.Secure.getInt: Šī metode atgriež drošā vesela skaitļa iestatījuma vērtību dotajam vārdam.
  • Iestatījumi.Drošs.LOCATION_MODE: To izmanto, lai iegūtu pašreizējā atrašanās vietas režīma iestatījumu.
  • Iestatījumi.Droša.LOCATION_PROVIDERS_ALLOWED: Iegūst atļauto atrašanās vietu nodrošinātāju sarakstu.

Pielāgošana dažādām Android versijām

Desmit gadu laikā Android ir ievērojami attīstījies, un katrai versijai ir īpašas funkcijas un iestatījumi. Tādējādi pamācošajā kodā ir jāņem vērā smalkās nianses, kas izpaužas dažādās Android versijās.

Dotais kods visaptveroši pārbauda iespējotu atrašanās vietu visās Android versijās, īpašu uzmanību pievēršot KitKat versijai, kurā tika ieviests atrašanās vietas režīms. Šī dihotomija sadala novērtēšanas pieeju divās galvenajās kategorijās — viena Android versijām KitKat un jaunākām versijām un atšķirīga versijām, kas ir zemākas par KitKat.

Rezumējot, pārbaudīt, vai atrašanās vietas noteikšanas pakalpojums ir iespējots Android ierīcē, izstrādātājiem ir nenovērtējams ieskats. Tas palīdz izprast funkcionalitāti un ļauj izstrādātājiem parādīt lietotājam specifiskāku lietojumprogrammu interpretāciju.

Related posts: