Писање опсежног чланка о томе како да проверите да ли је локација омогућена на Андроид уређају може захтевати суштинско разумевање Јава програмирања и коришћења различитих Андроид библиотека. Дакле, хајде да се удубимо у ово.
У савременом окружењу мобилних апликација, приступ локацији корисника постао је кључан за пружање персонализованог искуства заснованог на географском положају корисника. Ова функција је обилно доступна на уређајима који покреће Андроид. Међутим, одређивање да ли је локација омогућена или не је такође критичан аспект.
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);
}
}
Разумевање кода
Горе наведени код проверава да ли су услуге локације омогућене на било ком Андроид уређају у два главна корака:
– Ако је верзија уређаја КитКат или новија, покушава да добије поставку режима локације и потврђује да ли је другачија од „Режим локације је искључен“. Ако је тако, потврђује да је локација омогућена.
– За уређаје који раде на верзијама старијим од КитКат-а, он преузима листу дозвољених добављача локација и проверава да ли је искључиво празна. Ако листа није празна, потврђује се да је локација омогућена.
Улога различитих библиотека и функција
У овом коду смо искористили неколико специфичних функција и библиотека, првенствено из Андроид Девелопер'с Кит-а:
- Буилд.ВЕРСИОН.СДК_ИНТ: Ово је поље које садржи СДК верзију платформе која је тренутно покренута на уређају.
- Сеттингс.Сецуре: Ово је класа која управља приступом глобалним безбедним системским поставкама, првенствено системским поставкама које утичу на приватност корисника.
- Сеттингс.Сецуре.гетИнт: Овај метод враћа безбедну вредност поставке целог броја за дато име.
- Сеттингс.Сецуре.ЛОЦАТИОН_МОДЕ: Ово се користи за добијање подешавања тренутног режима локације.
- Сеттингс.Сецуре.ЛОЦАТИОН_ПРОВИДЕРС_АЛЛОВЕД: Добија листу дозвољених добављача локација.
Опширније