Google ще разшири функцията за автоматично нулиране на разрешения до устройства с Android 6.0+ през 2022 г

Google ще въведе функцията за автоматично нулиране на разрешения на устройства с Android 6.0+ с Play Services, но сега през януари 2022 г. Прочетете!

Android 12 е десерт на сезона, но това не означава, че по-старите версии не могат да се присъединят към част от забавлението. Android като операционна система се развива през последното десетилетие и в много случаи става все по-важно предоставяне на функции на по-широка потребителска база, отколкото въвеждане на нови функции в нова версия на софтуера, което ще отнеме години разпространявам. Google прави първото, тъй като се стреми да разшири функцията за автоматично нулиране на разрешенията до Android 6.0 и по-нови устройства с Google Play Services. Днешното съобщение измества първоначалното обещание за внедряване от декември 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(). Това е полезно за приложения, които основно работят във фонов режим, като например придружаващо приложение за вашия смарт часовник.