Scoped Storagen ansiosta Android 11 tietyillä laitteilla tekee kuvien poistamisesta Google Kuvista hieman hankalaa, mutta siihen voi olla korjaus.
Emme voi tietää, kuinka monella markkinoilla olevalla laitteella on käytössä Android 11 Googlen jälkeen ei enää julkaise jakelutilastoja, mutta nyt on luultavasti kymmeniä miljoonia, joille Xiaomin ja Samsungin kaltaisilla yrityksillä on ollut aikaa viedä päivitys monet heidän malleistaan. Jos laitteessasi on Android 11 ja käytät Google Kuvia, on mahdollista, että olet kohdannut melko ärsyttävän muutoksen tavassa, jolla sovellus käsittelee kuvien poistamista ja palauttamista. Sen sijaan, että valitset vain poistettavat kuvat ja videot, paina roskakorikuvaketta ja napauta sitten "siirrä" roskakoriin" -painiketta, sinun on nyt napautettava ylimääräistä kehotetta antaaksesi Google Kuville lupa poistaa tai palauttaa tiedostot.
Niille teistä, jotka kuvaavat paljon valokuvia ja videoita, voi olla ärsyttävää, että joudut myöntämään Google Kuville luvan tiedoston poistamiseen tai palauttamiseen. Ja kuten huomautti
AndroidPolice, ylimääräisen painikkeen napauttaminen ei ole ainoa ongelma, jota saatat joutua käsittelemään. Jos käytät Google Kuvia toisella laitteella ja haluat muokata Android 11 -puhelimesta lataamaasi tiedostoa tai siirtää sen roskakoriin, sovellus saattaa pyytää sinua tarkistamaan "synkronoinnin ulkopuoliset muutokset". Siitä voi nopeasti tulla ärsyttävää, jos Google Kuvat pyytää sinua jatkuvasti tarkistamaan toisella alustalla tekemäsi muutokset.Lisävaihetta tiedoston poistamiseksi tai palauttamiseksi ei vaadittu Android 10:ssä, mutta se vaaditaan nyt Android 11:ssä Scoped Storagen pakottamisen vuoksi. Ennen Scoped Storagea pääsyä koko ulkoiseen tallennushakemistoon hallitsi yksi luvan, mikä tekee sinun vaikeaksi rajoittaa sitä, mitkä sovellukset voivat käyttää yksityisiä asiakirjojasi, kuviasi tai Videot. Kun Scoped Storage on käytössä, Android rajoittaa, kuinka paljon sovelluksella voi olla pääsyä arkaluonteisiin tiedostoihin ilman käyttäjän nimenomaista suostumusta. Löydät lisätietoja Scoped Storagesta tässä artikkelissa tai katso alla olevasta Googlen kuvasta yhteenveto muutoksista.
Samalla kun Google yritti rajoittaa tallennustilan käyttöä Android 11:ssä, Google paransi myös olemassa olevia sovellusliittymiä parantaakseen käyttökokemusta. Esimerkiksi Android 11:een kohdistavat sovellukset voivat käyttää MediaStore-sovellusliittymää siirrä tiedosto roskakoriin sen poistamisen sijaan. Sovelluksen täytyy kuitenkin siirtää tiedosto roskakoriin pyytää käyttäjää myöntämään sille kirjoitusoikeudet. Koska suurin osa kuvista ja videoista, jotka lisäät Google Kuviin puhelimestasi, tulivat eri sovelluksesta – kuten varastokamerasovellus — Photosin on pyydettävä lupa, ennen kuin se voi siirtää tiedoston kohteeseen tai sieltä roskakoriin. Google Kuvat ei kuitenkaan pyydä lupaa siirtää tiedostoja roskakoriin, jos käytät Pixel-puhelinta, johon on asennettu Android 11. Se kuitenkin pyytää lupaa periaatteessa kaikille muille laitteille, joissa on Android 11, mukaan lukien useimmat Samsung-, Xiaomi-, OnePlus- ja ASUS-laitteet. Mikä antaa?
Syynä on, että järjestelmägalleriasovellukseen ei sovelleta laajennetun tallennustilan rajoituksia. Tämä tarkoittaa, että varastogalleriasovellus voi avata, muokata tai poistaa kuvia ja videoita ilman nimenomaista lupaa. Google Kuvat on esiasetettu järjestelmägalleriasovellukseksi Pixel-puhelimissa, mutta useimmat OEM-valmistajat määrittävät sen sijaan oman galleriasovelluksensa. Lisäksi ei ole käyttäjälle suunnattua asetusta järjestelmägalleriasovelluksen muuttamiseen, ei edes Androidin "oletussovellusten" näytössä. Kuitenkin siellä On piilotettu tapa muuttaa järjestelmägalleriasovellusta, mutta yksi on olemassa iso varoitus: Vain järjestelmäsovellus voidaan asettaa järjestelmägalleriasovellukseksi. Tämä tarkoittaa vain niitä puhelimia Google Kuvat on jo esiasennettu järjestelmäsovellukseksi voi hyödyntää tätä temppua.
Monet puhelimet eivät täytä tätä kriteeriä, mutta testiemme perusteella, voimme vahvistaa tämän toimii useimmissa OnePlus- ja joissakin ASUS-puhelimissa. Tämä menetelmä ei toiminut missään Samsung-puhelimissa, joissa testasimme sitä, eikä se toiminut myöskään Xiaomi Mi 10 Prossa. Jos sinulla on pääkäyttäjän oikeudet tai käytät mukautettua ROM-muistia, tämä menetelmä saattaa toimia laitteessasi sen jälkeen, kun olet systemaannut Google Kuvat -sovelluksen, mutta testasimme tätä menetelmää vain varastossa olevilla laitteilla.
Kuinka (ehkä) tehdä Google-kuvista järjestelmägalleriasovellus
Krediitit menevät Kieron Quinnille (Quinny899 XDA-foorumeilla) tämän tempun jakamisesta!
Ensimmäinen asia, joka sinun on tehtävä, on asentaa ADB tietokoneellesi. Meillä on päivitetty opas kuinka se tehdään tässä. Kun olet määrittänyt ADB-asetukset, kirjoita seuraava komento:
adbshellcmdroleadd-role-holderandroid.app.role.SYSTEM_GALLERYcom.google.android.apps.photos
Jos et näe virhettä, se luultavasti toimi! Voit nopeasti varmistaa, että se toimii ottamalla valokuvan ja yrittämällä poistaa sen sitten Google Kuvissa. Vaihtoehtoisesti voit suorittaa seuraavan komennon:
adb shell dumpsys role
...ja tarkista onko "android.app.role" "haltija". SYSTEM_GALLERY" on "com.google.android.apps.photos" (Google Kuvien paketin nimi).
Mitä tämä komento tekee?
Android 10 lisäsi a uusi API nimeltä "Roles". Kun sovelluksella on tietty rooli, sille myönnetään automaattisesti pääsy tiettyihin käyttöoikeuksiin. Esimerkiksi, SYSTEM_GALLERY rooli myöntää sovellukselle automaattisesti "täyden luku- ja kirjoitusoikeuden kaikkiin ulkoiseen tallennustilaan tallennettuihin kuva- ja videotiedostoihin, mukaan lukien pääsyn sijaintiin metatiedot." SYSTEM_GALLERY-rooli voidaan myöntää vain järjestelmäsovelluksille, ja sen oletushaltijan määrittää Android määritysarvo "config_systemGallery". Kuten aiemmin selitimme, useimmat OEM-valmistajat määrittävät tämän arvon omaa paketin nimeä vastaavaksi oma galleriasovellus. Tätä arvoa ei voi muuttaa ilman kehyksen muokkaamista tai peittokuvan asentamista, jotka molemmat edellyttävät pääkäyttäjän oikeuksia.
Kuitenkin se On mahdollista lisätä toinen sovellus roolin SYSTEM_GALLERY haltijaksi, mutta vain jos kyseinen sovellus on myös järjestelmäsovellus. Tämä on mahdollista monissa OnePlus- ja joissakin ASUS-puhelimissa, koska nämä OEM-valmistajat näyttävät esiasentaneen Google Photos -sovelluksen järjestelmätasolla käyttäjätason sijaan. Tämän vuoksi Google Kuvat -sovellus on oikeutettu rooliin SYSTEM_GALLERY, ja hyödynnämme Androidin piilotetun RoleManager-kuoren käyttöliittymästä, jotta se saa käyttöoikeudet, joita se ei normaalisti voi myönnetty. Jos yrität myöntää roolin SYSTEM_GALLERY muulle kuin järjestelmäsovellukselle, näet logcatissa seuraavan virheen:
ERoleControllerServiceImpl: Packagedoesnotqualifyfortherole, package: com.google.android.apps.photos, role: android.app.role.SYSTEM_GALLERY
Valitettavasti emme ole löytäneet keinoa kiertää tätä rajoitusta, mutta jos löydämme, jaamme menetelmämme yhteisön kanssa. Tietenkin toivomme, että Google vain tekee SYSTEM_GALLERY-roolin käyttäjän määriteltävissä sen sijaan, että se rajoittuisi OEM: n valintaan.