Ukubhala inqaku elibanzi malunga nendlela yokukhangela ukuba indawo ivuliwe kwisixhobo se-Android kunokufuna ukuqonda okunzulu kwenkqubo yeJava kunye nokusetyenziswa kweelayibrari ezahlukeneyo ze-Android. Ngoko, makhe sihlolisise oku.
Kumhlaba wangoku wesicelo sefowuni, ukufikelela kwindawo yomsebenzisi kuye kwaba yinto ebalulekileyo ekuboneleleni ngamava omntu ngokusekwe kwindawo yomsebenzisi. Lo msebenzi ufumaneka kakhulu kwizixhobo ezixhaswe yi-Android. Nangona kunjalo, ukufumanisa ukuba indawo leyo ivuliwe okanye hayi ngumba obalulekileyo ngokunjalo.
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); } }
Ukuqonda ikhowudi
Ikhowudi enikwe ngasentla ijonga ukuba iinkonzo zendawo zinikwe amandla kuso nasiphi na isixhobo se-Android ngamanyathelo amabini aphambili:
- Ukuba uguqulelo lwesixhobo yiKitKat okanye ngaphezulu, izama ukufumana imowudi yendawo kwaye iqinisekise ukuba ayikho enye ngaphandle 'Indlela yeNdawo ivaliwe'. Ukuba kunjalo, iqinisekisa ukuba indawo leyo ivuliwe.
Kwizixhobo ezisebenza kwiinguqulelo ezindala kuneKitKat, ifumana uluhlu lwababoneleli bendawo abavunyelweyo kwaye ijonge ukuba ayinanto kuphela. Ukuba uluhlu alunanto, kuqinisekisiwe ukuba indawo leyo yenziwe yasebenza.
Indima yamaThala eencwadi ahlukeneyo kunye neMisebenzi
Kule khowudi, sisebenzise imisebenzi embalwa ethile kunye namathala eencwadi, ikakhulu asuka kwiKit yoMphuhlisi we-Android:
- Build.VERSION.SDK_INT: Le yintsimi ebambe inguqulelo ye-SDK yeqonga elisebenzayo ngoku kwisixhobo.
- Iisetingi.Khusela: Olu ludidi olulawula ukufikelela kwiisetingi zenkqubo ekhuselekileyo yehlabathi, ngokuyintloko useto lwenkqubo oluchaphazela ubumfihlo bomsebenzisi.
- Iisetingi.Secure.getInt: Le ndlela ibuyisela inani elipheleleyo lokucwangcisa ixabiso legama elinikiweyo.
- Iisetingi.Khusela.LOCATION_MODE: Oku kusetyenziselwa ukufumana imo yendlela yendawo yangoku.
- Iisetingi.Secure.LOCATION_PROVIDERS_ALLOWED: Ifumana uluhlu lwababoneleli bendawo abavunyelweyo.
Ukulungelelanisa kwiinguqulelo ezahlukeneyo ze-Android
I-Android iye yavela ngokuphawulekayo kwisithuba seshumi leminyaka, kwaye inguqulelo nganye iza neempawu zayo ezithile kunye noseto. Yiyo loo nto, ikhowudi efundisayo kufuneka ithathele ingqalelo kwii-nuances ezifihlakeleyo ezibonakala kwiinguqulelo ezahlukeneyo ze-Android.
Ikhowudi enikiweyo ijonga ngokubanzi indawo enikwe amandla kuzo zonke iinguqulelo ze-Android, kugxilwe ngokukodwa kwinguqulo yeKitKat, apho 'iNdlela yeNdawo' yaziswa khona. Le dichotomy yahlula indlela yokuvavanya kwiindidi ezimbini eziphambili - enye yeenguqulelo ze-Android KitKat nangaphezulu, kunye neyohlukileyo kwiinguqulelo ezingaphantsi kweKitKat.
Ukushwankathela, ukujonga ukuba inkonzo yendawo ivuliwe na kwisixhobo se-Android lulwazi oluxabisekileyo kubaphuhlisi. Inceda ekuqondeni ukusebenza kwaye ivumela abaphuhlisi ukuba babonakalise utoliko lwesicelo esingqale ngakumbi kumsebenzisi.