Статья опубликована в рамках: Научного журнала «Студенческий» № 13(99)
Рубрика журнала: Информационные технологии
Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3
ИЗМЕНЕНИЯ ПОЛУЧЕНИЯ ДОСТУПА К МЕСТОПОЛОЖЕНИЮ УСТРОЙСТВА В ANDROID 10
В новой версии операционной системы Android 10 произошло большое количество различных изменений, которые повлияли, как и на взаимодействие с устройством обычных пользователей [1] так и несколько поменялся подход для разработки приложений под новую версию [2]. Одним из таких крупных изменений стал целый ряд изменений в взаимодействии с конфиденциальными данными пользователя и получения доступа приложения к местоположению устройства в Android 10.
Android 10 (уровень API 29) представил ряд функций и изменений в поведении для лучшей защиты конфиденциальности пользователей. Эти различные изменения расширяют прозрачность и контроль пользовательских данных, которые пользователи предоставляют приложениям. Так же эти нововведения могут означать, что конкретные поведения или данные, от которых зависит ваше приложение, могут вести себя по-разному по сравнению с предыдущими версиями операционной системы Android [3].
Ряд изменений коснулись файла манифеста приложения. Манифест приложения — это обязательный файл для каждого Android приложения, который должен называться AndroidManifest.xml и хранится в корневой папке приложения. Данный файл содержит важную информацию для работы приложения в операционной системе Android. Только после получения информации из манифеста система может выполнить какой-либо код приложения. И сейчас то, что нас интересует это изменения, которые коснулись раздела разрешений манифеста. Разрешения в манифесте представляют собой ограничение на доступ к части кода или к данным, имеющимся на устройстве. Эти ограничения предназначены для защиты конфиденциальных данных пользователя и кода [4].
Каждое такое разрешение обозначается уникальной меткой которой присваивается действие, выполнение которого ограничивается. И если приложению требуется доступ к функции, которая защищена то необходимо объявить в файле манифеста о том, что приложению необходима данная функция. Это делается с помощью элемента <uses-permission>[5].
Теперь для дополнительного контроля доступа к данным о местоположении устройства, Android 10 вводит разрешение ACCESS_BACKGROUND_LOCATION.
В отличии от уже существующих разрешений ACCESS_FINE_LOCATION и ACCESS_COARSE_LOCATION, разрешение ACCESS_BACKGROUND_LOCATION влияет на доступ приложения к местоположению устройства только когда оно выполняется в фоновом режиме. Но при этом доступ к местоположению будет доступен приложению при соблюдении следующих условий:
- Активность, принадлежащая приложению, видна.
- Приложение запускает службу переднего плана (foreground service) у которой объявлен тип location. Для объявления типа службы переднего плана в приложении необходимо установить targetSdkVersion или compileSdkVersion 29 или выше.
После чего в приложении при запросе на доступ к местоположению пользователю будет дан выбор между несколькими пунктами: разрешить доступ к местоположению в любом режиме, разрешить доступ к местоположению только во время использования приложения и отклонить доступ. И если пользователь выберет разрешить доступ к местоположению в любом режиме, приложение сможет получить данные местоположения в то время, когда приложение не открыто на переднем плане.
Заключение.
В новой версии операционной системы Android 10 было проделано большое количество изменений, в том числе и изменения взаимодействия приложения с получением доступа к местоположению устройства. Пользователь получил больший контроль над своими данными и может выдавать доступ к ним каждому отдельному приложению как он посчитает нужным. Что в свою очередь защищает конфиденциальность пользователя, а также влияет на удобство и простоту использования устройства.
Список литературы:
- Страница, посвящённая изменениям в операционной системе Android 10 [Электронный ресурс]. —Режим доступа: https://www.android.com/android-10. — 06.04.2020.
- Изменения в операционной системе Android 10 для разработчиков [Электронный ресурс]. —Режим доступа: https://developer.android.com/about/versions/10/highlights. — 06.04.2020.
- Изменения в конфиденциальности операционной системы Android 10 для разработчиков [Электронный ресурс]. —Режим доступа: https://developer.android.com/about/versions/10/privacy/changes. — 06.04.2020.
- Манифест для приложений Android [Электронный ресурс]. —Режим доступа: https://developer.android.com/guide/topics/manifest/manifest-intro?hl=ru. — 06.04.2020.
- Описание элемента манифеста <uses-permission> [Электронный ресурс]. —Режим доступа: https://developer.android.com/guide/topics/manifest/uses-permission-element?hl=ru. — 06.04.2020.
Оставить комментарий