Ukubhala i-athikili ebanzi mayelana nendlela yokuhlola ukuthi indawo ivuliwe yini kudivayisi ye-Android kungadinga ukuqonda okukhulu kohlelo lwe-Java kanye nokusetshenziswa kwemitapo yolwazi ehlukene ye-Android. Ngakho-ke, ake sihlole lokhu.
Kusimo sesimanje sohlelo lokusebenza lweselula, ukufinyelela indawo yomsebenzisi sekubalulekile ekunikezeni ulwazi lomuntu siqu olusekelwe endaweni yomsebenzisi. Lokhu kusebenza kutholakala kakhulu kumadivayisi anikwe amandla yi-Android. Nokho, ukunquma ukuthi indawo ivuliwe noma cha kuyisici esibalulekile futhi.
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 ikhodi
Ikhodi enikezwe ngenhla ihlola ukuthi izinsiza zendawo zivuliwe yini kunoma iyiphi idivayisi ye-Android ngezinyathelo ezimbili eziyinhloko:
- Uma inguqulo yedivayisi kuyi-KitKat noma ngaphezulu, izama ukuthola ukulungiselelwa kwemodi yendawo futhi iqinisekise ukuthi ingabe ingaphandle kokuthi 'Imodi Yendawo Ivaliwe'. Uma kunjalo, iqinisekisa ukuthi indawo ivuliwe.
- Kumadivayisi asebenzisa izinguqulo ezindala kune-KitKat, ithola uhlu lwabahlinzeki bendawo abavunyelwe futhi ihlole ukuthi ayinalutho yini kuphela. Uma uhlu lungenalutho, kuyaqinisekiswa ukuthi indawo inikwe amandla.
Iqhaza Lemitapo Yolwazi Nemisebenzi Ehlukene
Kule khodi, sisebenzise imisebenzi embalwa ethile namalabhulali, ikakhulukazi avela Kukhithi Yonjiniyela we-Android:
- Build.VERSION.SDK_INT: Lena inkambu ephethe inguqulo ye-SDK yenkundla esebenza kudivayisi okwamanje.
- Izilungiselelo.Vikela: Leli ikilasi eliphethe ukufinyelela kuzilungiselelo zesistimu evikelekile yomhlaba, ngokuyinhloko izilungiselelo zesistimu ezithinta ubumfihlo bomsebenzisi.
- I-Settings.Secure.getInt: Le ndlela ibuyisela inani elivikelekile lenombolo yokusetha yegama elinikeziwe.
- Izilungiselelo.Vikela.LOCATION_MODE: Lokhu kusetshenziselwa ukuthola ukulungiselelwa kwemodi yendawo yamanje.
- Izilungiselelo.Secure.LOCATION_PROVIDERS_ALLOWED: Ithola uhlu lwabahlinzeki bendawo abavunyelwe.
Funda kabanzi