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.
Lasīt vairāk