Tänu Scoped Storage'ile muudab Android 11 teatud seadmetes piltide kustutamise teenuses Google Photos pisut ebamugavaks, kuid see võib leida lahenduse.
Meil pole mingit võimalust teada, kui palju turul olevaid seadmeid kasutab pärast Google'i operatsioonisüsteemi Android 11 ei avalda enam levistatistikat, kuid praegu on tõenäoliselt kümneid miljoneid, mille puhul ettevõtetel, nagu Xiaomi ja Samsung, on olnud aega värskendust edasi lükata. paljud nende mudelid. Kui teie seadmes töötab Android 11 ja te kasutate teenust Google Photos, on tõenäoline, et olete kohanud üsna tüütuid muutusi selles, kuidas rakendus piltide kustutamise ja taastamisega tegeleb. Selle asemel, et valida lihtsalt pildid ja videod, mida soovite kustutada, klõpsake prügikastiikooni ja seejärel puudutage „teisalda prügikasti”, peate nüüd puudutama täiendavat viipa, et anda teenusele Google Photos luba kustutada või taastada failid.
Nende jaoks, kes pildistavad palju fotosid ja videoid, võib olla tüütu anda teenusele Google Photos luba faili kustutamiseks või taastamiseks. Ja nagu märkis
AndroidPolice, pole lisanupu puudutamine ainus probleem, millega peate tegelema. Kui kasutate teenust Google Photos mõnes teises seadmes ja soovite Android 11-ga telefonist üles laaditud faili redigeerida või prügikasti panna, võib rakendus paluda teil üle vaadata "sünkroonimata muudatused". See võib kiiresti tüütuks muutuda, kui Google Photos palub teil pidevalt mõnel teisel platvormil tehtud muudatused üle vaadata.Faili kustutamise või taastamise lisatoimingut ei nõutud operatsioonisüsteemis Android 10, kuid nüüd on see Android 11 puhul nõutav tänu kohaldamisala salvestusruumi jõustamisele. Enne Scoped Storage'i haldas juurdepääsu kogu välisele salvestuskataloogile üksainus luba, mistõttu on raske piirata seda, millised rakendused pääsevad juurde teie privaatdokumentidele, piltidele või videod. Kui salvestusruumi ulatus on paigas, piirab Android rakenduse juurdepääsu tundlikele failidele ilma kasutaja selgesõnalise nõusolekuta. Lisateavet leiate jaotisest Scoped Storage selles artiklis või vaadake muudatuste kokkuvõtet allolevalt Google'i graafikult.
Samal ajal kui nad olid hõivatud Android 11 salvestusruumi juurdepääsu piiramisega, täiustas Google kasutajakogemuse parandamiseks ka olemasolevaid API-sid. Näiteks Android 11 sihivad rakendused saavad MediaStore API-t kasutada kustutage faili asemel prügikasti. Faili prügikasti teisaldamiseks peab rakendus siiski seda tegema palub kasutajal anda sellele kirjutamisõigus. Kuna enamik pilte ja videoid, mille oma telefonist teenusesse Google Photos lisate, pärinesid teisest rakendusest – näiteks aktsiakaamera rakendus — Photos peab enne faili teisaldamist teenusesse või sealt teisaldama luba prügikast. Siiski ei küsi Google Photos luba failide prügikasti saatmiseks, kui kasutate Pixeli telefoni, kuhu on installitud Android 11. Siiski küsib see luba põhimõtteliselt kõigis teistes Android 11-ga töötavates seadmetes, sealhulgas enamikes Samsungi, Xiaomi, OnePlusi ja ASUSe seadmetes. Mis annab?
Põhjus on selles, et süsteemigalerii rakendusele ei kehti ulatuse salvestusruumi piirangud. See tähendab, et laogalerii rakendus saab pilte ja videoid avada, redigeerida või kustutada ilma selgesõnalise loata. Google Photos on Pixeli telefonides eelseadistatud süsteemigalerii rakenduseks, kuid enamik originaalseadmete tootjaid eelseadistab selle asemel oma galeriirakenduse. Lisaks pole süsteemigalerii rakenduse muutmiseks ühtegi kasutajale suunatud seadet, isegi mitte Androidi "vaikerakenduste" ekraanil. Samas seal on peidetud viis süsteemigalerii rakenduse muutmiseks, kuid üks on olemas suur Hoiatus: süsteemigalerii rakenduseks saab määrata ainult süsteemirakenduse. See tähendab ainult selliseid telefone Google Photos on juba süsteemirakendusena eelinstallitud saab seda trikki ära kasutada.
Sellele kriteeriumile ei vasta paljud telefonid, kuid meie testimise põhjal, saame seda kinnitada töötab enamiku OnePlusi ja mõne ASUSe telefoniga. See meetod ei töötanud ühelgi Samsungi telefonil, millel seda testisime, ja see ei töötanud ka Xiaomi Mi 10 Pro puhul. Kui teil on juurjuurdepääs või kasutate kohandatud ROM-i, võib see meetod teie seadmes töötada pärast rakenduse Google Photos süstematiseerimist, kuid testisime seda meetodit ainult varuseadmetes.
Kuidas (võib-olla) muuta Google Photos süsteemigalerii rakenduseks
Autorid lähevad Kieron Quinnile (Quinny899 XDA foorumites) selle triki jagamise eest!
Esimene asi, mida peate tegema, on installida arvutisse ADB. Meil on uuendatud juhend selle kohta, kuidas seda teha siin. Kui olete ADB seadistanud, sisestage järgmine käsk:
adbshellcmdroleadd-role-holderandroid.app.role.SYSTEM_GALLERYcom.google.android.apps.photos
Kui te viga ei näe, siis tõenäoliselt see töötas! Saate kiiresti kontrollida, kas see töötab, tehes foto ja proovides seda siis teenuses Google Photos kustutada. Teise võimalusena võite käivitada järgmise käsu:
adb shell dumpsys role
...ja kontrollige, kas faili "android.app.role" omanik on. SYSTEM_GALLERY" on "com.google.android.apps.photos" (teenuse Google Photos paketi nimi).
Mida see käsk teeb?
Android 10 lisas a uus API nimega "Rolls". Kui rakendusel on teatud roll, antakse sellele automaatselt juurdepääs teatud õigustele. Näiteks SYSTEM_GALLERY roll annab rakendusele automaatselt "täieliku lugemis- ja kirjutamisjuurdepääsu kõigile välismällu salvestatud pildi- ja videofailidele, sealhulgas juurdepääsu asukohale metaandmed." Rolli SYSTEM_GALLERY saab anda ainult süsteemirakendustele ja selle vaikevaldaja määrab Android konfiguratsiooniväärtus "config_systemGallery". Nagu varem selgitasime, määrab enamik originaalseadmete tootjaid selle väärtuse paketinimele, mis vastab neile oma galerii rakendus. Seda väärtust ei saa muuta ilma raamistikku muutmata või ülekatte installimata, mis mõlemad nõuavad juurjuurdepääsu.
Siiski see on võimalik lisada veel üks rakendus SYSTEM_GALLERY rolli omanikuks, kuid ainult kui see rakendus on ka süsteemirakendus. See on võimalik paljudes OnePlusi ja mõnes ASUSe telefonis, kuna need originaalseadmete tootjad näiliselt eelinstallisid teenuse Google Photos pigem süsteemi kui kasutaja tasemel. Seetõttu on rakendus Google Photos sobilik omama rolli SYSTEM_GALLERY ja me kasutame ära Androidi peidetud RoleManageri kestaliidese, et anda sellele juurdepääs lubadele, mida tavaliselt ei saa antud. Kui proovite anda rolli SYSTEM_GALLERY süsteemivälisele rakendusele, näete logcatis järgmist viga:
ERoleControllerServiceImpl: Packagedoesnotqualifyfortherole, package: com.google.android.apps.photos, role: android.app.role.SYSTEM_GALLERY
Kahjuks pole me leidnud viisi sellest piirangust mööda hiilida, kuid kui me seda teeme, jagame oma meetodit kogukonnaga. Loomulikult eelistaksime, et Google muudaks rolli SYSTEM_GALLERY lihtsalt kasutaja määratletavaks, mitte ei piirduks originaalseadmete tootja valikuga.