Google представит функцию автоматического сброса разрешений на устройствах Android 6.0+ с Play Services, но уже в январе 2022 года. Читай дальше!
Андроид 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, который является частью Ядро реактивного ранца библиотека -- androidx.core.content. PackageManagerCompat.getUnusedAppRestrictionsStatus() и androidx.core.content. IntentCompat.createManageUnusedAppRestrictionsIntent(). Это полезно для приложений, которые в основном работают в фоновом режиме, например для сопутствующего приложения для ваших умных часов.