Android 12 - это главное ожидание сезона, но это не значит, что старые версии этой ОС остаются "за воротами". Android как ОС развивалась в течение последнего десятилетия, и во многих случаях становится более важным предоставить необходимые функции более широкой пользовательской базе, чем просто вводить новые функции в новую версию программного обеспечения, на распространение которой уйдут годы. Google делает первое, поскольку стремится расширить функцию автоматического сброса разрешений на устройства Android 6.0 и более поздних версий с сервисами Google Play. Сегодняшнее объявление переносит первоначальное обещание развертывания с декабря 2021 года на январь 2022 года.
Что такое автоматический сброс разрешений?
В Android 11 в 2020 году Google внесла несколько изменений в модель разрешений времени выполнения. В Android 10 и более ранних версиях для "опасных" разрешений (также называемых разрешениями с большим объемом возможностей для неправомерного использования) приложения могут запрашивать разрешение один раз и сохранять его до тех пор, пока приложение остается установленным, или пользователь вручную отозвал его или очистил данные приложения. И приложениям было свойственно запрашивать такие разрешения, даже когда они требовались для выполнения неосновных и необязательных функций. Учитывая тот факт, что средний пользователь не понимает объем предоставленных им разрешений, и что периодический пересмотр таких разрешений не особенно популярен у пользователей, конечным результатом было то, что слишком много приложений имели доступ к слишком большому количеству разрешений, даже когда само приложение не использовалось.
Android 11 представил одноразовые разрешения и автоматический сброс разрешений для решения этой проблемы. Одноразовые разрешения открывали приложению доступ в течение очень короткого периода времени, позволяя выполнять свою неосновную функцию, когда пользователь об этом просил. Вы по-прежнему можете предоставить разрешение на более длительный период времени, если вам регулярно требуется приложение для выполнения этой неосновной функции. С другой стороны, автосброс разрешений позволил решить ситуации, когда приложения, которым когда-то были предоставлены такие разрешения для частого использования, больше не используются. Если Android обнаружит, что пользователь какое-то время не использовал приложение, он автоматически отзовет все предоставленные разрешения. Теперь приложение больше может запускать эти функции в фоновом режиме. Когда пользователь воспользуется приложением в следующий раз, он получит возможность снова предоставить эти разрешения.
Несколько месяцев назад Google объявил, что добавит функцию автоматического сброса разрешений Android 11 на все устройства под управлением Android 6.0 и более поздних версий. Во время объявления Google упомянул, что эта функция начнет развертываться на устройствах Android 6.0 и более поздних версий, на которых установлены сервисы Google Play, в декабре 2021 года. Важным моментом в сегодняшнем объявлении является то, что функция начнет развертываться в следующем месяце, в январе 2022 года.
Уже известно, что эта функция будет включена по умолчанию для приложений, ориентированных на Android 11 (уровень API 30) или выше. Для приложений, ориентированных на уровни API с 23 по 29, пользователям придется включить его вручную в настройках. Эта функция не будет применяться к приложениям администратора устройства, а разрешения, установленные политиками предприятия, также не будут отозваны. При необходимости разработчик приложения также может попросить пользователя отключить функцию автоматического сброса разрешений. Если ваше приложение нацелено на уровень API 30 или выше и вы хотите попросить пользователя отключить автоматический сброс разрешений, вам необходимо использовать новый кросс-платформенный API, который является частью библиотеки Jetpack Core - androidx.core.content. PackageManagerCompat.getUnusedAppRestrictionsStatus () и androidx.core.content.IntentCompat.createManageUnusedAppRestrictionsIntent (). Это полезно для приложений, которые в основном работают в фоновом режиме, таких как приложение-компаньон для ваших умных часов.
Иван Ковалев
VIA