Android 14 giver dig mulighed for at begrænse, hvilke fotos apps kan få adgang til, selvom de ikke bruger fotovælgeren

Fotovælgeren var en valgfri API til apps, der ønskede at få adgang til dit galleri i Android 13, men det er ved at blive noget obligatorisk i Android 14.

En af højdepunkterne i Android 13 er Photo Picker, en ny systemkomponent, der lader brugerne vælge, hvilke fotos og videoer de vil give en app adgang til. Apps behøver ikke at anmode om nogen tilladelser for at få adgang til elementer, som brugeren vælger via fotovælgeren, hvilket gør det til en privatlivsbevarende måde at dele billeder og videoer med apps. Systemfilvælgeren, der har eksisteret siden Android 4.4, tilbyder mere funktionalitet end Photo Picker, men dens brugergrænseflade er dateret i sammenligning.

Fotovælgeren (og systemfilvælgeren før den) beskytter dit privatliv ved at lade dig begrænse, hvilke billeder og videoer en app har adgang til. Desværre understøtter mange apps ikke Fotovælgeren, selvom en bagudkompatibel version af den er tilgængelig til Android 4.4+. Apps skal specifikt påberåbe fotovælgeren ved hjælp af en hensigt, men mange apps vælger ikke at bruge det af den ene eller anden grund. Heldigvis betyder det måske ikke længere

Android 14, som tester en måde, hvorpå brugere kan vælge, hvilke fotos og videoer apps kan få adgang til via Fotovælgeren, uanset om disse apps rent faktisk bruger API'en.

Mange apps får adgang til mediefiler via mediebutik API. Systemet indekserer filer efter deres type, kaldet mediebutiksamlinger, og vedligeholder en database, som apps kan forespørge ved hjælp af mediebutiks API. Apps, der bruger Media Store API'et, behøver ikke at bede om tilladelse til at læse eller ændre filer, de ejer, men de skal have tilladelse af brugeren for at få adgang til filer, der ejes af andre apps.

Fra Android 10 skulle apps, der målrettede API-niveau 29 eller højere, tildeles READ_EXTERNAL_STORAGE tilladelse fra brugeren, før de kunne bruge Media Store API til at få adgang til filer ejet af andre apps. I Android 13 blev READ_EXTERNAL_STORAGE-tilladelsen opdelt i tre forskellige tilladelser (READ_MEDIA_AUDIO, READ_MEDIA_VIDEO og READ_MEDIA_IMAGES), der hver giver en app, der målretter API-niveau 33, muligheden for at bruge mediebutik-API'en til at få adgang til henholdsvis lyd-, video- og billedfiler, der ejes af andre apps.

Android 14 ændrer medieadgangstilladelser igen ved at kombinere READ_MEDIA_VIDEO, READ_MEDIA_IMAGES og ACCESS_MEDIA_LOCATION til en ny tilladelse kaldet READ_MEDIA_VISUAL_USER_SELECTED. Denne tilladelse tillader en app, der målretter mod API-niveau 34, at "læse brugervalgte billed- og videofiler fra delt lager," ifølge dens beskrivelse. Android 14 kan dog med tilbagevirkende kraft anvende denne nye adfærd på eksisterende apps, der er målrettet mod API-niveau 33 (dvs. Android 13) og anmod om READ_MEDIA_VIDEO eller READ_MEDIA_IMAGES.

Når en app, der er målrettet mod API-niveau 33, udløser dialogboksen for køretidstilladelse for at bede brugeren om at give dem READ_MEDIA_VIDEO eller READ_MEDIA_IMAGES (eller begge), indsætter Android 14 muligvis en ny post i tilladelsesdialog, der siger "Vælg billeder." Hvis du trykker på denne post, startes en ny version af fotovælgeren, der giver brugeren mulighed for at vælge, hvilke billeder eller videoer de vil give appen adgang til. Appen har efterfølgende kun adgang til de medieelementer, som brugeren specifikt har valgt, medmindre brugeren vælger det udvide adgangen til yderligere medieelementer eller giv appen adgang til hele mediebutikkens samlinger for billeder og videoer.

Denne post i tilladelsesdialogen vises ikke som standard i Android 14 DP1, da dens synlighed er lukket af et udviklerflag, som jeg var nødt til at skifte. Hvis denne funktion får den til at frigives, vil det dog være en stor gevinst for privatlivets fred, da det betyder, at brugerne altid vil have mulighed for at bestemme, hvilke billeder eller videoer en app skal have adgang til.

Alt for få apps bruger Photo Picker API, som det er, hvilket får Google til at eksperimentere med opsnappe en eksisterende hensigt som apps bruger til at starte systemfilvælgeren, så de i stedet starter fotovælgeren. Selvom fotovælgeren har nogle mangler, såsom ikke at vise filer fra cloud-medieudbydere endnu (måske vil det snart med udvidelse SDK version 5!) og viser kun visse albums på enheden er den bedre end den gamle systemfilvælger og er bestemt at foretrække frem for enhver app, der har adgang til alle billeder og videoer i galleriet.

Udviklere, der er interesserede i at implementere Photo Picker API, bør opgradere til den nyeste version af Jetpack Activity-biblioteket, som håndterer opkald til den bagudkompatible version leveret via Google Play Services på Android 4.4-Android 10 eller den framework-leverede version leveret via MediaProvider Mainline-modulet.