Google wprowadzi funkcję automatycznego resetowania uprawnień na urządzeniach z Androidem 6.0 lub nowszym z Usługami Play, ale już w styczniu 2022 r. Czytaj!
Androida 12 jest deser sezonu, ale to nie znaczy, że starsze wersje nie mogą przyłączyć się do zabawy. Android jako system operacyjny dojrzewał przez ostatnią dekadę i w wielu przypadkach stał się coraz ważniejszy dostarczać funkcje szerszemu gronu użytkowników, niż wprowadzać nowe funkcje w nowej wersji oprogramowania, co zajęłoby lata propagować. Google robi to pierwsze, ponieważ chce rozszerzyć funkcję automatycznego resetowania uprawnień na urządzenia z Androidem 6.0 i nowszym z Usługami Google Play. Dzisiejsze ogłoszenie przesuwa początkową obietnicę wdrożenia z grudnia 2021 r. na styczeń 2022 r.
Co to jest automatyczne resetowanie uprawnień?
Wraz z Androidem 11 w 2020 roku Google wprowadził kilka zmian w modelu uprawnień wykonawczych i warto rzucić okiem na krótkie podsumowanie. W systemie Android 10 i starszych w przypadku „niebezpiecznych” uprawnień (czyli uprawnień o dużym zakresie nadużyć) aplikacje mogą żądać raz i zachowaj je tak długo, jak aplikacja pozostanie zainstalowana lub użytkownik ręcznie je cofnie lub wyczyści aplikację dane. Często aplikacje żądały takich uprawnień, nawet jeśli potrzebowały ich do funkcji innych niż podstawowe i opcjonalne. Mając na uwadze fakt, że przeciętny użytkownik nie rozumie zakresu udzielonych przez siebie uprawnień oraz że nie przeprowadzono okresowego przeglądu tych uprawnień, coś, co zrobiłaby większość użytkowników, rezultat końcowy był taki, że zbyt wiele aplikacji miało dostęp do zbyt wielu uprawnień, nawet jeśli sama aplikacja nie otrzymywała używany.
W systemie Android 11 wprowadzono uprawnienia jednorazowe i automatyczne resetowanie uprawnień aby uporać się z tym problemem. Właśnie na tym polegają uprawnienia jednorazowe — zezwalają aplikacji na dostęp przez bardzo krótki okres czasu, umożliwiając aplikacji wykonanie jej funkcji innych niż podstawowe, gdy użytkownik o to poprosi. Nadal możesz udzielić pozwolenia na dłuższy okres, jeśli regularnie potrzebujesz aplikacji do wykonywania tej funkcji innej niż podstawowa. Z drugiej strony automatyczne resetowanie uprawnień rozwiązało problem sytuacji, w których aplikacje, którym kiedyś przyznano takie uprawnienia do częstego używania, nie są już często używane. Jeśli Android wykryje, że użytkownik nie korzystał z aplikacji przez jakiś czas, automatycznie cofnie wszystkie przyznane uprawnienia. Aplikacja może już inicjować te funkcje w tle. Gdy użytkownik następnym razem skorzysta z aplikacji, będzie miał możliwość ponownego przyznania tych uprawnień.
Przeniesienie uprawnień automatycznego resetowania do starszych wersji systemu operacyjnego
Kilka miesięcy temu, Google ogłosiło że funkcja automatycznego resetowania uprawnień Androida 11 zostanie włączona na wszystkich urządzeniach z Androidem 6.0 i nowszym. W momencie ogłoszenia Google wspomniało, że funkcja zacznie być wdrażana na urządzeniach z Androidem 6.0 i nowszym, na których zainstalowano Usługi Google Play, w grudniu 2021 r. Godną uwagi informacją w dzisiejszym ogłoszeniu jest to, że funkcja zacznie być wdrażana w przyszłym miesiącu, czyli w styczniu 2022 r.
Z poprzednich zapowiedzi wiemy, że funkcja będzie domyślnie włączona w aplikacjach przeznaczonych na Androida 11 (poziom API 30) lub nowszy. W przypadku aplikacji przeznaczonych dla poziomów API od 23 do 29 użytkownicy będą musieli włączyć tę funkcję ręcznie w ustawieniach. Ta funkcja nie będzie miała zastosowania do aplikacji administratora urządzenia, a uprawnienia ustalone w zasadach przedsiębiorstwa również nie zostaną cofnięte. W razie potrzeby twórca aplikacji może również poprosić użytkownika o wyłączenie funkcji automatycznego resetowania. Jeśli Twoja aplikacja jest przeznaczona dla poziomu interfejsu API 30 lub wyższego i chcesz poprosić użytkownika o wyłączenie automatycznego resetowania uprawnień, musisz użyć nowego, wieloplatformowego interfejsu API, który jest częścią pakietu Rdzeń Jetpacka biblioteka -- androidx.core.content. PackageManagerCompat.getUnusedAppRestrictionsStatus() I androidx.core.content. IntentCompat.createManageUnusedAppRestrictionsIntent(). Jest to przydatne w przypadku aplikacji działających głównie w tle, takich jak aplikacja towarzysząca Twojemu smartwatchowi.