Android 11 face ca Google Foto să fie enervant de utilizat, dar poate exista o soluție

Datorită Scoped Storage, Android 11 pe anumite dispozitive face un pic incomod ștergerea imaginilor din Google Foto, dar poate exista o remediere.

Nu avem de unde să știm câte dispozitive de pe piață rulează Android 11 de la Google nu mai publică statistici de distribuție, dar probabil că sunt zeci de milioane acum la care companii precum Xiaomi și Samsung au avut timp să împingă actualizarea multe dintre modelele lor. Dacă dispozitivul tău rulează Android 11 și folosești Google Foto, există șansa să fi întâlnit o schimbare destul de enervantă în modul în care aplicația gestionează ștergerea și restaurarea imaginilor. În loc să selectați pur și simplu imaginile și videoclipurile pe care doriți să le ștergeți, apăsați pictograma coș de gunoi și apoi apăsați pe „mutare la coșul de gunoi", va trebui acum să atingeți o solicitare suplimentară pentru a acorda Google Foto permisiunea de a șterge sau restabili fișiere.

Pentru cei dintre voi care fac o mulțime de fotografii și videoclipuri, poate fi enervant să acordați Google Foto permisiunea de a șterge sau a restabili un fișier. Și după cum a subliniat de

Android Poliție, atingerea unui buton suplimentar nu este singura problemă cu care este posibil să aveți de-a face. Dacă utilizați Google Foto pe alt dispozitiv și doriți să editați sau să aruncați în gunoi un fișier pe care l-ați încărcat de pe telefonul dvs. care rulează Android 11, aplicația vă poate solicita să examinați „modificările nesincronizate”. Acest lucru poate deveni rapid enervant dacă Google Foto vă cere în continuare să revizuiți modificările pe care tocmai le-ați făcut pe o altă platformă.

Pasul suplimentar pentru ștergerea sau restabilirea unui fișier nu a fost necesar în Android 10, dar acum este necesar în Android 11, din cauza aplicării spațiului de stocare. Înainte de Scoped Storage, accesul la întregul director de stocare externă era gestionat de un singur permisiunea, ceea ce vă face dificil să limitați aplicațiile care vă pot accesa documentele, imaginile sau Videoclipuri. Cu spațiul de stocare în vigoare, Android limitează accesul pe care îl poate avea o aplicație la fișierele sensibile fără consimțământul explicit al utilizatorului. Puteți găsi mai multe detalii despre Scoped Storage în acest articol sau priviți graficul Google de mai jos pentru un rezumat al modificărilor.

În timp ce erau ocupați să restricționeze accesul la stocare în Android 11, Google îmbunătățește și API-urile existente pentru a îmbunătăți experiența utilizatorului. De exemplu, aplicațiile care vizează Android 11 pot folosi API-ul MediaStore aruncați un fișier în gunoi în loc să-l ștergeți. Totuși, pentru a muta un fișier în coșul de gunoi, aplicația trebuie solicitați utilizatorului să îi acorde acces de scriere. Deoarece majoritatea imaginilor și videoclipurilor pe care le adăugați la Google Foto de pe telefon provin dintr-o altă aplicație — cum ar fi aplicația pentru camere foto — Photos trebuie să ceară permisiunea înainte de a putea muta un fișier în sau din Gunoi. Cu toate acestea, Google Foto nu vă solicită permisiunea de a arunca fișiere în gunoi dacă utilizați un telefon Pixel cu Android 11 instalat. Cu toate acestea, solicită permisiunea pentru aproape orice alt dispozitiv care rulează Android 11, inclusiv majoritatea dispozitivelor Samsung, Xiaomi, OnePlus și ASUS. Ce dă?

Motivul este că aplicația de galerie de sistem nu este supusă restricțiilor de stocare în domeniu. Aceasta înseamnă că aplicația de galerie stoc poate deschide, edita sau șterge imagini și videoclipuri fără permisiune explicită. Google Foto este presetat ca aplicație de galerie de sistem pe telefoanele Pixel, dar majoritatea OEM-urilor își presetează în schimb propria aplicație de galerie. În plus, nu există nicio setare orientată către utilizator pentru a schimba aplicația de galerie de sistem, nici măcar în ecranul „aplicații implicite” Android. Totuși, acolo este o modalitate ascunsă de a schimba aplicația de galerie de sistem, dar există una mare avertisment: Doar o aplicație de sistem poate fi setată ca aplicație de galerie de sistem. Asta înseamnă doar telefoane care au deja Google Foto preinstalat ca aplicație de sistem poate profita de acest truc.

Nu multe telefoane îndeplinesc acest criteriu, dar pe baza testelor noastre, putem confirma acest lucru funcționează pe majoritatea OnePlus și unele telefoane ASUS. Această metodă nu a funcționat pe niciunul dintre telefoanele Samsung pe care am testat-o ​​și nici pe un Xiaomi Mi 10 Pro. Dacă aveți acces la rădăcină sau rulați un ROM personalizat, această metodă poate funcționa pe dispozitivul dvs. după ce sistematizați aplicația Google Foto, dar am testat această metodă doar pe dispozitive stoc.

Cum să (poate) să faci din Google Foto aplicația pentru galeria de sistem

Creditele sunt lui Kieron Quinn (Quinny899 pe forumurile XDA) pentru împărtășirea acestui truc!

Primul lucru pe care va trebui să-l faceți este să instalați ADB pe computer. Avem un ghid actualizat despre cum să facem asta Aici. După ce ați configurat ADB, introduceți următoarea comandă:

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

Dacă nu vedeți o eroare, atunci probabil că a funcționat! Puteți verifica rapid că a funcționat făcând o fotografie și apoi încercând să o ștergeți în Google Foto. Alternativ, puteți rula următoarea comandă:

adb shell dumpsys role

...și verificați dacă „deținătorul” „android.app.role”. SYSTEM_GALLERY” este „com.google.android.apps.photos” (numele pachetului Google Foto).

Dacă rezultatul dvs. se potrivește cu textul evidențiat în dreptunghi roșu, atunci a funcționat.

Ce face această comandă?

Android 10 a adăugat a noua API numită „Roluri". Când o aplicație are un anumit rol, i se acordă automat acces la anumite permisiuni. De exemplu, cel Rolul SYSTEM_GALLERY acordă automat unei aplicații „acces complet de citire și scriere la toate fișierele de imagine și video de pe stocarea externă, inclusiv accesul la locație metadate." Rolul SYSTEM_GALLERY poate fi acordat numai aplicațiilor de sistem, iar deținătorul său implicit este definit de Android valoarea de configurare „config_systemGallery”. După cum am explicat mai devreme, majoritatea OEM-urilor presetează această valoare la numele pachetului corespunzător propria aplicație de galerie. Această valoare nu poate fi schimbată fără modificarea cadrului sau instalarea unei suprapuneri, ambele necesită acces root.

Cu toate acestea, acesta este este posibil să adăugați o altă aplicație ca deținător al rolului SYSTEM_GALLERY, dar numai dacă acea aplicație este și o aplicație de sistem. Acest lucru este posibil pe multe telefoane OnePlus și unele ASUS, deoarece acești OEM par să preinstaleze Google Photos la nivel de sistem, mai degrabă decât la nivel de utilizator. Din acest motiv, aplicația Google Foto este eligibilă să dețină rolul SYSTEM_GALLERY și profităm a interfeței ascunse RoleManager a Android pentru a-i acorda acces la permisiunile pe care în mod normal nu le poate fi acordat. Dacă încercați să acordați rolul SYSTEM_GALLERY unei aplicații non-sistem, veți vedea următoarea eroare în logcat:

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

Din păcate, nu am găsit o cale de a ocoli această limitare, dar dacă o facem, vom împărtăși metoda noastră comunității. Desigur, am prefera ca Google să facă pur și simplu rolul SYSTEM_GALLERY definibil de utilizator, mai degrabă decât să se limiteze la alegerea OEM.