Android 11 znepríjemňuje používanie Fotiek Google, ale môže existovať oprava

Vďaka Scoped Storage je pre Android 11 na niektorých zariadeniach trochu nepohodlné odstraňovanie obrázkov vo Fotkách Google, ale môže existovať oprava.

Nemáme spôsob, ako zistiť, koľko zariadení na trhu používa Android 11 od Googlu už nezverejňuje štatistiky distribúcie, ale teraz sú pravdepodobne desiatky miliónov, ktorým spoločnosti ako Xiaomi a Samsung stihli dotlačiť aktualizáciu mnohé z ich modelov. Ak vaše zariadenie používa Android 11 a používate Fotky Google, je pravdepodobné, že ste narazili na dosť nepríjemnú zmenu v spôsobe, akým aplikácia rieši odstraňovanie a obnovu obrázkov. Namiesto jednoduchého výberu obrázkov a videí, ktoré chcete odstrániť, stlačte ikonu koša a potom ťuknite na „presunúť do koša“, teraz budete musieť klepnúť na ďalšiu výzvu, aby ste Fotkám Google dali povolenie na odstránenie alebo obnovenie vášho súbory.

Pre tých z vás, ktorí robia veľa fotografií a videí, môže byť nepríjemné udeliť Fotkám Google povolenie na odstránenie alebo obnovenie súboru. A ako zdôraznil

AndroidPolice, klepnutie na ďalšie tlačidlo nie je jediným problémom, ktorý možno budete musieť riešiť. Ak používate Fotky Google na inom zariadení a chcete upraviť alebo vyhodiť do koša súbor, ktorý ste nahrali z telefónu so systémom Android 11, aplikácia vás môže požiadať o kontrolu „nesynchronizovaných zmien“. To môže byť rýchlo nepríjemné, ak vás Fotky Google neustále žiadajú o kontrolu zmien, ktoré ste práve vykonali na inej platforme.

Ďalší krok na odstránenie alebo obnovenie súboru sa v systéme Android 10 nevyžadoval, ale teraz sa vyžaduje v systéme Android 11 z dôvodu presadzovania funkcie Scoped Storage. Pred Scoped Storage bol prístup k celému adresáru externého úložiska riadený jedným povolenie, takže je pre vás ťažké obmedziť, ktoré aplikácie môžu pristupovať k vašim súkromným dokumentom, obrázkom alebo videá. Vďaka funkcii Scoped Storage Android obmedzuje rozsah prístupu, ktorý môže mať aplikácia k citlivým súborom bez výslovného súhlasu používateľa. Viac podrobností nájdete na Scoped Storage v tomto článku alebo sa pozrite na grafiku Google nižšie, kde nájdete súhrn zmien.

Zatiaľ čo boli zaneprázdnení obmedzovaním prístupu k úložisku v systéme Android 11, Google tiež vylepšoval existujúce rozhrania API, aby zlepšil používateľskú skúsenosť. Aplikácie zacielené na Android 11 môžu napríklad využívať rozhranie MediaStore API súbor radšej vyhodiť do koša, než ho odstrániť. Ak však chcete presunúť súbor do koša, aplikácia to musí urobiť vyzve používateľa, aby mu udelil prístup na zápis. Keďže väčšina obrázkov a videí, ktoré pridáte do Fotiek Google z telefónu, pochádza z inej aplikácie – ako napríklad aplikácia pre fotoaparáty – Fotky musia požiadať o povolenie, aby mohli presunúť súbor do alebo z smeti. Fotky Google však nepožadujú povolenie na vyhadzovanie súborov do koša, ak používate telefón Pixel s nainštalovaným Androidom 11. Požaduje však povolenie v podstate na každom inom zariadení so systémom Android 11 vrátane väčšiny zariadení Samsung, Xiaomi, OnePlus a ASUS. Čo dáva?

Dôvodom je, že aplikácia systémovej galérie nepodlieha obmedzeniam Scoped Storage. To znamená, že aplikácia galérie akcií môže otvárať, upravovať alebo odstraňovať obrázky a videá bez výslovného povolenia. Fotky Google sú prednastavené ako aplikácia systémovej galérie na telefónoch Pixel, ale väčšina výrobcov OEM si namiesto toho prednastaví vlastnú aplikáciu galérie. Okrem toho neexistuje žiadne nastavenie pre používateľa na zmenu aplikácie systémovej galérie, a to ani na obrazovke „predvolených aplikácií“ systému Android. Avšak, tam je skrytý spôsob, ako zmeniť aplikáciu systémovej galérie, ale jeden existuje veľký upozornenie: Ako aplikáciu systémovej galérie je možné nastaviť iba systémovú aplikáciu. To znamená, že iba telefóny už majú Fotky Google predinštalované ako systémovú aplikáciu môže využiť tento trik.

Toto kritérium nespĺňa veľa telefónov, ale na základe nášho testovania, môžeme to potvrdiť funguje na väčšine telefónov OnePlus a niektorých ASUS. Táto metóda nefungovala na žiadnom z telefónov Samsung, na ktorých sme ju testovali, a tiež nefungovala na Xiaomi Mi 10 Pro. Ak máte prístup typu root alebo používate vlastnú pamäť ROM, táto metóda môže na vašom zariadení fungovať po systematizácii aplikácie Fotky Google, ale túto metódu sme testovali iba na bežných zariadeniach.

Ako (možno) urobiť z Fotiek Google aplikáciu systémovej galérie

Poďakovanie patrí Kieronovi Quinnovi (Quinny899 na fórach XDA) za zdieľanie tohto triku!

Prvá vec, ktorú musíte urobiť, je nainštalovať ADB na váš počítač. Máme aktualizovaný návod, ako na to tu. Po nastavení ADB zadajte nasledujúci príkaz:

adbshellcmdroleadd-role-holderandroid.app.role.SYSTEM_GALLERYcom.google.android.apps.photos

Ak nevidíte chybu, pravdepodobne to fungovalo! Môžete rýchlo overiť, či to fungovalo, odfotením a následným pokusom o odstránenie vo Fotkách Google. Prípadne môžete spustiť nasledujúci príkaz:

adb shell dumpsys role

...a skontrolujte, či "držiteľ" "android.app.role. SYSTEM_GALLERY“ je „com.google.android.apps.photos“ (názov balíka služby Fotky Google).

Ak sa váš výstup zhoduje s textom zvýrazneným v červenom obdĺžniku, fungovalo to.

Čo robí tento príkaz?

Android 10 pridal a nové API s názvom „Roles". Keď má aplikácia určitú rolu, automaticky sa jej udelí prístup k určitým povoleniam. Napríklad, Rola SYSTEM_GALLERY automaticky udeľuje aplikácii plný prístup na čítanie a zápis ku všetkým obrazovým a video súborom na externom úložisku vrátane prístupu k polohe metadáta." Rolu SYSTEM_GALLERY možno udeliť iba systémovým aplikáciám a jej predvolený držiteľ je definovaný systémom Android konfiguračná hodnota "config_systemGallery." Ako sme už vysvetlili, väčšina výrobcov OEM prednastaví túto hodnotu na názov balíka zodpovedajúci ich vlastná aplikácia galérie. Túto hodnotu nie je možné zmeniť bez úpravy rámca alebo inštalácie prekrytia, pričom obe vyžadujú prístup root.

Avšak, to je možné pridať ďalšiu aplikáciu ako držiteľa roly SYSTEM_GALLERY, ale iba ak je táto aplikácia aj systémovou aplikáciou. Je to možné na mnohých telefónoch OnePlus a niektorých ASUS, pretože títo výrobcovia OEM zdanlivo predinštalovali Fotky Google na úrovni systému a nie na úrovni používateľa. Z tohto dôvodu je aplikácia Fotky Google oprávnená zastávať rolu SYSTEM_GALLERY a my ju využívame skrytého rozhrania RoleManager systému Android, ktoré mu udelí prístup k povoleniam, ktoré normálne nemôže byť udelené. Ak sa pokúsite udeliť rolu SYSTEM_GALLERY nesystémovej aplikácii, v logcat sa zobrazí nasledujúca chyba:

ERoleControllerServiceImpl: Packagedoesnotqualifyfortherole, package: com.google.android.apps.photos, role: android.app.role.SYSTEM_GALLERY

Žiaľ, nenašli sme spôsob, ako toto obmedzenie obísť, ale ak áno, podelíme sa o našu metódu s komunitou. Samozrejme, uprednostnili by sme, keby spoločnosť Google jednoducho sprístupnila rolu SYSTEM_GALLERY užívateľsky definovanú, a nie aby bola obmedzená na výber OEM.