Ulatusliku artikli kirjutamine selle kohta, kuidas kontrollida, kas asukoht on Android-seadmes lubatud, vรตib nรตuda Java programmeerimise ja erinevate Androidi teekide kasutamise pรตhjalikku mรตistmist. Seega, sรผveneme sellesse.
Kaasaegsel mobiilirakenduste maastikul on kasutaja asukohale juurdepรครคs muutunud รผlioluliseks kasutaja geograafilisel asukohal pรตhinevate isikupรคrastatud kogemuste pakkumisel. See funktsioon on Androidi toega seadmetes laialdaselt saadaval. Siiski on oluline mรครคrata, kas asukoht on lubatud vรตi mitte.
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); } }
Koodi mรตistmine
รlaltoodud kood kontrollib kahes peamises etapis, kas asukohateenused on mis tahes Android-seadmes lubatud.
โ Kui seadme versioon on KitKat vรตi uuem, proovib see hankida asukohareลพiimi sรคtte ja kontrollib, kas see on muu kui asukohareลพiim vรคljas. Kui jah, kinnitab see, et asukoht on lubatud.
โ Seadmete puhul, mis tรถรถtavad KitKatist vanemates versioonides, hangib see lubatud asukohapakkujate loendi ja kontrollib, kas see on ainult tรผhi. Kui loend ei ole tรผhi, kinnitatakse, et asukoht on lubatud.
Erinevate raamatukogude ja funktsioonide roll
Selles koodis oleme kasutanud mรตnda konkreetset funktsiooni ja teeki, peamiselt Androidi arendajakomplektist.
- Jรคrk.VERSION.SDK_INT: See on vรคli, mis sisaldab seadmes praegu tรถรถtava platvormi SDK versiooni.
- Seaded. Turvaline: See on klass, mis haldab juurdepรครคsu globaalsetele turvalisele sรผsteemisรคtetele, peamiselt sรผsteemisรคtetele, mis mรตjutavad kasutaja privaatsust.
- Settings.Secure.getInt: See meetod tagastab etteantud nime jaoks turvalise tรคisarvu sรคtte vรครคrtuse.
- Seaded.Turvaline.LOCATION_MODE: Seda kasutatakse praeguse asukohareลพiimi seadistuse saamiseks.
- Seaded.Turvaline.LOCATION_PROVIDERS_ALLOWED: Hangi lubatud asukohapakkujate loendi.
Kohandamine erinevatele Androidi versioonidele
Android on kรผmne aasta jooksul mรคrkimisvรครคrselt arenenud ning igal versioonil on oma spetsiifilised funktsioonid ja seaded. Seetรตttu peab รตpetlik kood vรตtma arvesse peeneid nรผansse, mis ilmnevad erinevates Androidi versioonides.
Antud kood kontrollib igakรผlgselt lubatud asukohta kรตigis Androidi versioonides, keskendudes konkreetselt versioonile KitKat, kus vรตeti kasutusele asukohareลพiim. See dihhotoomia jagab hindamismeetodi kahte pรตhikategooriasse โ รผks Androidi versioonide KitKati ja uuemate versioonide jaoks ning eraldiseisev KitKatist madalamate versioonide jaoks.
Kokkuvรตtteks vรตib รถelda, et kontrollimine, kas asukohateenus on Android-seadmes lubatud, on arendajatele hindamatu teadmine. See aitab mรตista funktsioone ja vรตimaldab arendajatel avaldada kasutajaspetsiifilisemat rakenduse tรตlgendust.