Takket være Scoped Storage gør Android 11 på visse enheder det en smule ubelejligt at slette billeder i Google Fotos, men der kan være en løsning.
Vi har ingen mulighed for at vide, hvor mange enheder på markedet, der kører Android 11 siden Google udgiver ikke længere distributionsstatistik, men der er formentlig titusindvis af millioner nu, hvor virksomheder som Xiaomi og Samsung har haft tid til at presse opdateringen til mange af deres modeller. Hvis din enhed kører Android 11, og du bruger Google Fotos, er der en chance for, at du er stødt på en ret irriterende ændring med den måde, appen håndterer billedsletning og -gendannelse. I stedet for blot at vælge de billeder og videoer, du vil slette, skal du trykke på skraldespanden og derefter trykke på "flytt til skraldespand", skal du nu trykke igennem en ekstra prompt for at give Google Fotos tilladelse til at slette eller gendanne din filer.
For de af jer, der tager mange billeder og videoer, kan det være irriterende at skulle give Google Fotos tilladelse til at slette eller gendanne en fil. Og som påpeget af
Android Politi, at trykke på en ekstra knap er ikke det eneste problem, du muligvis skal håndtere. Hvis du bruger Google Fotos på en anden enhed og ønsker at redigere eller kassere en fil, du har uploadet fra din telefon, der kører Android 11, kan appen bede dig om at gennemgå "usynkroniserede ændringer". Det kan hurtigt blive irriterende, hvis Google Fotos bliver ved med at bede dig om at gennemgå ændringer, du lige har lavet på en anden platform.Det ekstra trin til at slette eller gendanne en fil var ikke påkrævet i Android 10, men er nu påkrævet i Android 11 på grund af håndhævelsen af Scoped Storage. Før Scoped Storage blev adgangen til hele den eksterne lagerkatalog administreret af en enkelt tilladelse, hvilket gør det svært for dig at begrænse, hvilke apps der kan få adgang til dine private dokumenter, billeder eller videoer. Med Scoped Storage på plads begrænser Android, hvor meget adgang en app kan have til følsomme filer uden udtrykkeligt brugerens samtykke. Du kan finde flere detaljer om Scoped Storage i denne artikel eller se på Googles grafik nedenfor for at få en oversigt over ændringerne.
Mens de havde travlt med at begrænse lageradgang i Android 11, forbedrede Google også eksisterende API'er for at forbedre brugeroplevelsen. For eksempel kan apps, der er målrettet mod Android 11, bruge MediaStore API til smide en fil i stedet for at slette den. For at flytte en fil til papirkurven skal appen dog gøre det bede brugeren om at give den skriveadgang. Da de fleste af de billeder og videoer, du føjer til Google Fotos fra din telefon, kom fra en anden app — såsom stock kamera-appen — Fotos skal bede om tilladelse, før de kan flytte en fil til eller fra affald. Google Fotos beder dog ikke om tilladelse til at smide filer, hvis du bruger en Pixel-telefon med Android 11 installeret. Det beder dog om tilladelse på stort set alle andre enheder, der kører Android 11, inklusive de fleste Samsung-, Xiaomi-, OnePlus- og ASUS-enheder. Hvad giver?
Årsagen er, at systemgalleriappen ikke er underlagt Scoped Storage-begrænsninger. Det betyder, at aktiegalleri-appen kan åbne, redigere eller slette billeder og videoer uden udtrykkelig tilladelse. Google Fotos er forudindstillet som systemgalleri-appen på Pixel-telefoner, men de fleste OEM'er forudindstiller deres egen galleri-app i stedet. Desuden er der ingen brugervendt indstilling til at ændre systemgalleri-appen, ikke engang på Androids "standard apps"-skærm. Dog der er en skjult måde at ændre systemgalleriappen på, men der er en stor advarsel: Kun en systemapplikation kan indstilles som systemgalleriappen. Det betyder kun telefoner, der allerede har Google Fotos forudinstalleret som en systemapp kan drage fordel af dette trick.
Ikke mange telefoner opfylder dette kriterium, men baseret på vores test, vi kan bekræfte dette fungerer på de fleste OnePlus og nogle ASUS-telefoner. Denne metode virkede ikke på nogen af de Samsung-telefoner, vi testede den på, og den virkede heller ikke på en Xiaomi Mi 10 Pro. Hvis du har root-adgang eller kører en tilpasset ROM, fungerer denne metode muligvis på din enhed, efter du har systematiseret Google Fotos-appen, men vi testede kun denne metode på lagerenheder.
Sådan gør du (måske) Google Fotos til systemgalleri-appen
Kreditter går til Kieron Quinn (Quinny899 på XDA-fora) for at dele dette trick!
Den første ting du skal gøre er at installere ADB på din pc. Vi har en opdateret guide til, hvordan du gør det her. Når du har ADB-opsætning, skal du indtaste følgende kommando:
adbshellcmdroleadd-role-holderandroid.app.role.SYSTEM_GALLERYcom.google.android.apps.photos
Hvis du ikke ser en fejl, så har det sandsynligvis virket! Du kan hurtigt bekræfte, at det virkede ved at tage et billede og derefter prøve at slette det i Google Fotos. Alternativt kan du køre følgende kommando:
adb shell dumpsys role
...og tjek om "holderen" af "android.app.role. SYSTEM_GALLERY" er "com.google.android.apps.photos" (pakkenavnet for Google Fotos).
Hvad gør denne kommando?
Android 10 tilføjede en ny API kaldet "Roler". Når en app har en bestemt rolle, får den automatisk adgang til bestemte tilladelser. For eksempel SYSTEM_GALLERY rolle giver automatisk en app fuld læse- og skriveadgang til alle billed- og videofiler på eksternt lager, inklusive adgang til placering metadata." Rollen SYSTEM_GALLERY kan kun tildeles systemapplikationer, og dens standardindehaver er defineret af Android konfigurationsværdi "config_systemGallery." Som vi forklarede tidligere, forudindstiller de fleste OEM'er denne værdi til det pakkenavn, der svarer til deres egen galleri app. Denne værdi kan ikke ændres uden enten at ændre rammen eller installere et overlay, som begge kræver root-adgang.
Imidlertid er det er muligt at tilføje en anden app som indehaver af SYSTEM_GALLERY-rollen, men kun hvis den app også er en systemapp. Dette er muligt på mange OnePlus og nogle ASUS-telefoner, fordi disse OEM'er tilsyneladende forudinstallerede Google Fotos på systemniveau snarere end brugerniveau. På grund af dette er Google Fotos-appen kvalificeret til at have rollen SYSTEM_GALLERY, og vi drager fordel af Androids skjulte RoleManager shell-grænseflade for at give den adgang til tilladelser, det normalt ikke kan være givet. Hvis du forsøger at tildele rollen SYSTEM_GALLERY til en ikke-systemapp, vil du se følgende fejl i logcat:
ERoleControllerServiceImpl: Packagedoesnotqualifyfortherole, package: com.google.android.apps.photos, role: android.app.role.SYSTEM_GALLERY
Desværre har vi ikke fundet en vej uden om denne begrænsning, men hvis vi gør det, deler vi vores metode med fællesskabet. Selvfølgelig ville vi foretrække, at Google blot gør SYSTEM_GALLERY-rollen brugerdefinerbar i stedet for begrænset til OEM's valg.