Google zal de functie voor het automatisch resetten van toestemming naar Android 6.0+ apparaten met Play Services brengen, maar nu in januari 2022. Lees verder!
Androïde 12 is de dessertje van het seizoen, maar dat betekent niet dat oudere versies niet mee kunnen doen aan het plezier. Android als besturingssysteem is de afgelopen tien jaar volwassener geworden, en in veel gevallen wordt het steeds belangrijker functies leveren aan een bredere gebruikersbasis dan het introduceren van nieuwe functies in een nieuwe softwareversie, wat jaren zou duren propageren. Google doet het eerste, omdat het de functie voor het automatisch opnieuw instellen van toestemming wil uitbreiden naar apparaten met Android 6.0 en hoger met Google Play-services. De aankondiging van vandaag verschuift de initiële uitrolbelofte van december 2021 naar januari 2022.
Wat is toestemming automatisch resetten?
Met Android 11 in 2020 heeft Google een paar wijzigingen geïntroduceerd in het runtime-rechtenmodel, en het is de moeite waard om een korte samenvatting te bekijken. In Android 10 en lager kunnen apps voor 'gevaarlijke' machtigingen (ook wel machtigingen met veel ruimte voor misbruik) vragen toestemming en bewaar deze zolang de app geïnstalleerd bleef of de gebruiker deze handmatig heeft ingetrokken of de app heeft gewist gegevens. En het was gebruikelijk dat apps om dergelijke machtigingen vroegen, zelfs als ze deze nodig hadden voor een niet-kern- en optionele functie. Gezien het feit dat de gemiddelde gebruiker de reikwijdte van de verleende machtigingen niet begrijpt, en dat periodieke beoordeling van dergelijke machtigingen niet iets dat de meeste gebruikers zouden doen, het eindresultaat was dat veel te veel apps toegang hadden tot veel te veel rechten, zelfs als de app zelf geen toegang kreeg gebruikt.
Android 11 introduceerde eenmalige machtigingen en automatische reset van machtigingen om dit probleem aan te pakken. Eenmalige machtigingen zijn precies dat: ze gaven de app toegang voor een zeer korte periode, waardoor de app zijn niet-kernfunctie kon voltooien wanneer de gebruiker daarom vroeg. Je kunt er nog steeds voor kiezen om voor langere tijd toestemming te verlenen als je de app regelmatig nodig hebt om deze niet-kernfunctie uit te voeren. Auto-Reset van machtigingen heeft daarentegen situaties aangepakt waarin apps die ooit dergelijke machtigingen hadden gekregen voor frequent gebruik, niet langer vaak worden gebruikt. Als Android detecteert dat de gebruiker een app een tijdje niet heeft gebruikt, trekt het automatisch alle verleende rechten in. De app kan deze functies nu langer op de achtergrond starten. Wanneer de gebruiker de app de volgende keer gebruikt, krijgt hij de mogelijkheid om deze rechten opnieuw te verlenen.
Toestemmingen voor automatisch opnieuw instellen naar oudere besturingssysteemversies
Een paar maanden geleden, Google had aangekondigd dat het de automatische resetfunctie van Android 11 naar alle apparaten met Android 6.0 en hoger zal brengen. Op het moment van de aankondiging zei Google dat de functie in december 2021 zal worden uitgerold naar apparaten met Android 6.0 en hoger waarop Google Play Services is geïnstalleerd. Het nieuwswaardige deel van de aankondiging van vandaag is dat de functie volgende maand, januari 2022, wordt uitgerold.
Uit eerdere aankondigingen weten we dat de functie standaard wordt ingeschakeld voor apps die zich richten op Android 11 (API-niveau 30) of hoger. Voor apps die API-niveaus 23 tot 29 targeten, moeten gebruikers dit handmatig inschakelen via de instellingen. De functie is niet van toepassing op Device Administrator-apps, en machtigingen die zijn vastgelegd in bedrijfsbeleid worden ook niet ingetrokken. Indien nodig kan de app-ontwikkelaar de gebruiker ook vragen de functie voor automatisch opnieuw instellen van toestemming uit te schakelen. Als uw app API-niveau 30 of hoger target en u de gebruiker wilt vragen het automatisch opnieuw instellen van rechten uit te schakelen, moet u de nieuwe platformonafhankelijke API gebruiken die deel uitmaakt van de Jetpack-kern bibliotheek -- androidx.core.content. PackageManagerCompat.getUnusedAppRestrictionsStatus() En androidx.core.content. IntentCompat.createManageUnusedAppRestrictionsIntent(). Dit is handig voor apps die voornamelijk op de achtergrond werken, zoals een begeleidende app voor je smartwatch.