Android Q donijet će obnovu upravljanja dopuštenjima i poboljšanja za zaštitu privatnosti korisnika. Evo što je Google promijenio od Android Pie.
Prodor Androida 9 Pie na tržište jedva je a treptaj na radaru u usporedbi sa starijim verzijama Androida, ali to neće odgoditi Googleove planove da objavi sljedeću verziju Androida, Android Q. Očekujemo da će Google predstaviti prvi Developer Preview Androida Q negdje sljedeći mjesec, ali prije Googleovog objava uspjeli smo se dokopati Android Q verzije koja je vjerojatno prilično daleko u Googleovom razvoju ciklus. U našem prvom članku koji detaljno opisuje promjene koje dolaze u sljedećem izdanju deserta, govorili smo o novom sučelju za kontrolu dopuštenja. Međutim, pokazao sam samo nekoliko snimaka zaslona obnovljenog sustava upravljanja dozvolama, pa sam želio pratiti više detalja. Također sam proveo više testiranja i prikupio više informacija o novim dozvolama u Androidu Q, značajki "uloge", novom instalacijskom programu za pakete i još mnogo toga. Ali prvo, evo kratkog pregleda upravljanja dozvolama u Androidu.
Kratka povijest upravljanja dozvolama u Androidu
Android 4.3 Jelly Bean prvi put predstavljen precizno upravljanje dopuštenjima putem značajke "App Ops", iako je bilo skriveno od korisnika. Android 4.4 KitKat čak je uveo nova dopuštenja kojima može upravljati korisnik u App Ops sučelju, iako ste potreban root pristup i Xposed modul da mu pristupite. Konačno, Android 6.0 Marshmallow predstavio je sustav dopuštenja s kojim smo svi upoznati, iako s ograničenjima koja dopuštenja možete ograničiti. Starija značajka App Ops još uvijek postoji u Androidu, iako joj se može pristupiti samo putem naredbenog retka (cmd appops
). Određene primjene u Trgovini Google Play iskoristite implementaciju naredbenog retka App Ops za pružanje snažnijeg sučelja za upravljanje dozvolama. Google ne izlaže App Ops korisnicima jer korisnik možda ne zna što radi, što rezultira uskraćivanjem aplikacija nekim dopuštenjima koja su joj možda potrebna za ispravno funkcioniranje. Nažalost, od uvođenja upravljanja dopuštenjima u Androidu Marshmallow, nismo vidjeli nikakve veće promjene značajke—to jest, sve do Androida Q.
Operacije aplikacije u Androidu 4.3 Jelly Bean
Android 6.0 Marshmallow također je doživio veliku promjenu u načinu na koji se određene dozvole dodjeljuju aplikacijama. Prije Androida 6.0, sve dopuštenja definirana u an datoteka manifesta aplikacije dodjeljuju se nakon instalacije. S Androidom 6.0, Google uvedeno upravljanje dopuštenjima za vrijeme izvođenja za određena dopuštenja koja su smatrali opasnima, poput pristupa vanjskoj pohrani, pristupa kameri, pristupa lokaciji i više. Dopuštenja za vrijeme izvođenja dodjeljuju se tek nakon instalacije aplikacije, a korisnik mora izričito pristati na davanje tih dopuštenja dodirivanjem "dopusti" u dijaloškom okviru dopuštenja kada se to zatraži. Sve do Googlea napucao na aplikacijama koje ciljaju stariju razinu API-ja, razvojni programeri aplikacija mogu zaobići dozvole za vrijeme izvođenja ciljanjem API razine 22 ili niže (Android Lollipop ili starije.) Android Q upozorit će korisnike pokušava pokrenuti aplikaciju koja cilja API razinu 22 ili nižu, dodatno potičući programere da ažuriraju svoje aplikacije kako bi izbjegli da ih OS posrami. Dakle, do trenutka kada Android Q stigne na uređaje, gotovo svaka aplikacija na korisnikovom uređaju trebala bi biti podvrgnuta kontrolama upravljanja dozvolama uvedenim u Androidu 6.0+. Imajući to na umu, Google čisti kontrole dopuštenja u Androidu Q kako bi korisnicima olakšao upravljanje razinom pristupa koje aplikacije imaju na svom uređaju.
Lakše upravljanje dozvolama u Androidu Q u odnosu na Android Pie
Od Androida 6.0 Marshmallow do Androida 9 Pie, postojeće upravljanje dopuštenjima za vrijeme izvođenja omogućuje korisniku samo dopuštanje ili odbijanje određenih dopuštenja za aplikaciju. Napomenuli smo u našem prethodnom članku da će Android Q dopustiti korisniku da ograniči dopuštenje samo dok je aplikacija u upotrebi. Ova značajka oduševila je mnogo ljudi, ali to moramo razjasniti samo se dopuštenje za lokaciju može ograničiti na vrijeme kada je aplikacija u upotrebi. To znači da ne možete ograničiti mikrofon ili kameru samo dok je aplikacija u upotrebi. Ipak, to vas ne bi trebalo razočarati, jer već postoji Android Pie uveo neka ograničenja upotrebe u pozadini fotoaparat i mikrofon zahtijevajući da aplikacije budu u prvom planu ili koriste uslugu u prvom planu. Osim toga, Android Q proširuje to za otkrivanje korisniku kad god neka aplikacija koristi mikrofon, kameru ili pristupa lokaciji uređaja. Ovo se korisniku prikazuje kao ikone statusne trake u gornjem desnom kutu. Kada se statusna traka proširi, tekst prikazan pored ikona govori korisniku koja aplikacija trenutno koristi jedno od ova 3 osjetljiva dopuštenja. Konačno, ako korisnik dodirne ovu ikonu, prikazuje se dijaloški okvir koji korisniku govori koje aplikacije koriste koje dopuštenje. Opet, ovo se odnosi samo na dopuštenja za kameru, lokaciju i mikrofon.
Čini se da Google potiče korisnike da ograniče pristup lokaciji samo kada je aplikacija u upotrebi, budući da su se ispekli u podsjetnik u Androidu Q kada je korisnik odobrio aplikaciji da uvijek pristupa njihovoj lokaciji. Ovaj podsjetnik dolazi u obliku obavijesti koja govori korisniku da je aplikacija koristila njegovu lokaciju i da uvijek ima mogućnost to učiniti. Dodirom na obavijest dolazite na stranicu dopuštenja lokacije za tu aplikaciju, dopuštajući korisniku da odabere ograničenje dopuštenja lokacije samo dok je ta aplikacija u upotrebi. Svaka čast za to, Google.
Na kraju, u verziji koju imam, korisničko sučelje za posebna dopuštenja pristupa aplikaciji (poput optimizacije baterije, administratora uređaja, pristupa Ne uznemiravaj, pristupa obavijestima itd.) je nepromijenjeno. Međutim, na popis je dodano novo posebno dopuštenje "Financial Apps SMS Access", iako nisam siguran kako razlikuje se od dopuštenja "Premium SMS pristup" što je ono što aplikacije trebaju za slanje tekstualnih poruka na premium brojevima. Moguće je da je ovo novo dopuštenje namijenjeno bankarskim aplikacijama koje koriste SMS za određene transakcije, u skladu s Nova pravila Google Playa ograničavanje dozvola za SMS i zapisnik poziva.
Upravljanje dopuštenjima u Androidu Q
Evo galerije snimaka zaslona koja prikazuje nove promjene sučelja za upravljanje dozvolama u Androidu Q. Uključio sam detaljne opise svake stranice u naslove svake slike.
Davanje dopuštenja u Androidu Q
Ovdje su snimke zaslona koje prikazuju upravljanje dopuštenjima za vrijeme izvođenja u Androidu Q. Već smo razgovarali o tome što pokazuju prve dvije snimke zaslona, ali treća snimka zaslona potpuno je nova značajka Androida Q o kojoj još nisam govorio. Mogućnost da Android omogući korisniku kontrolu dopuštenja prije pokretanja naslijeđene aplikacije (definirana kao aplikacija koja cilja API razinu < 23) je nešto što je već moguće u Android Pieu s prava konfiguracija, ali Google je konačno okrenuo prekidač i omogućio ga u Androidu Q.
Praćenje dopuštenja u stvarnom vremenu u Androidu Q
Ovdje su snimke zaslona koje pokazuju kako će Android Q upozoriti korisnika kada aplikacija pristupa jednom od nekoliko osjetljivih/opasnih dopuštenja uključujući kameru, lokaciju i mikrofon.
Nova ograničenja pristupa međuspremniku, pristup vanjskim datotekama
Ograničenja pristupa pozadinskom međuspremniku
U svom prethodnom članku primijetio sam novo dopuštenje u okviru Androida Q koje sugerira da nesistemske aplikacije koje se izvode u pozadini više neće moći čitati međuspremnik sustava. Nakon što smo pokrenuli Google Play Store, odlučio sam instalirati nekoliko popularnih aplikacija za upravljanje međuspremnikom poput Upravitelj međuspremnika, Kliper, i Clip Stack da provjeri jesam li bio u pravu. Bilo dobro ili loše, Google blokira pristup pozadinskom međuspremniku u Androidu Q, kao niti jedna od aplikacija koje sam testirao nije mogla otkriti tekst koji sam kopirao u međuspremnik. Čak sam potvrdio da ove aplikacije imaju "READ_CLIPBOARD
" dopuštenje koje su zatražili korištenjem sljedeće App Ops naredbe:
adb shell cmd appops query-op --user 0 READ_CLIPBOARD allow
Srećom, kopiranje i lijepljenje teksta u i iz bilo koje aplikacije i dalje funkcionira, ali aplikacije koje rade u pozadini više ne mogu čitati tekst koji se kopira. Prerano je reći hoće li ova promjena uništiti aplikacije za upravljanje međuspremnikom jer postoji mogućnost da Google uvede novi API kako bi aplikaciju učinio zadanim rukovateljem "upravitelja međuspremnika". Međutim, ne vidim nikakve dokaze da se to događa u Androidu Q.
Pristup datoteci vanjske pohrane
Pokrio sam gotovo sve o ovoj promjeni u svom ranijem članku, ali ovdje je sažetak onoga što Google mijenja u Androidu Q s obzirom na pristup datotekama vanjske pohrane. Prvo moramo definirati što znači "vanjska pohrana". U Androidu, vanjska pohrana mjesto je gdje se pohranjuju sve datoteke i mape koje možete vidjeti kada svoj telefon priključite na računalo, poput preuzimanja, DCIM-a, glazbe, filmova i slika. Aplikacije bi trebale pohranjivati samo datoteke u vanjsku pohranu kojima bi druge aplikacije možda željele pristupiti, poput glazbe, slika, videozapisa, dokumenata itd.
Da bi aplikacija pristupila datotekama na vanjskoj pohrani, aplikacija mora držati READ_EXTERNAL_STORAGE i/ili WRITE_EXTERNAL_STORAGE dopuštenja, koja su oba dopuštenja za vrijeme izvođenja. Jednom kada aplikacija dobije ta dopuštenja, nema ograničenja u pogledu datoteka na vanjskoj pohrani koje može čitati ili mijenjati. U Androidu Q, Google rastavlja ova dva dopuštenja u detaljnija dopuštenja, dopuštajući korisniku da ograniči aplikaciju tako da može čitati ili pisati samo određene vrste datoteka. Konkretno, nova dopuštenja u Androidu Q omogućit će korisniku da ograniči aplikaciju tako da može samo:
- Pročitajte lokacije iz svojih medija.
- Čitanje ili pisanje glazbenih datoteka.
- Čitanje ili pisanje fotografija/slikovnih datoteka.
- Čitanje ili pisanje video datoteka.
Aplikacija kojoj je već dodijeljena dozvola READ_EXTERNAL_STORAGE prije korisnikove nadogradnje na Android Q će automatski dobiti gore navedena dopuštenja za "čitanje", ali ne i za "pisanje" dozvole.
Pristup lokaciji u pozadini
Prošle godine izvješće iz The New York Times rasvijetlio je raširenost aplikacija koje prate lokaciju korisnika radi prodaje oglašivačima. Nepravilno praćenje lokacije problem je kojeg je Google i te kako svjestan sami za to optuženi. Predstavljen Android 8.0 Oreo ograničenja o tome koliko često aplikacije koje rade u pozadini mogu pristupiti lokaciji uređaja. Zahtjevi za lokacijom od aplikacija koje rade u pozadini jako su ograničeni, pa ako aplikacija želi pratiti vašu lokaciju bilo kojim stupanj preciznosti, mora otkriti da to radi s vidljivom aktivnošću ili uslugom u prvom planu i trajnim obavijest.
Međutim, svaki put kada Google promijeni način na koji temeljni Android API-ji funkcioniraju, to utječe na programere čije su aplikacije legitimno koristile te API-je prema namjeni. Nedavno smo vidjeli ovu igru s ograničenjima Google Playa za dopuštenja za SMS i zapisnik poziva, što je rezultiralo mnogim popularne aplikacije gube ključne funkcije. Ista se situacija dogodila kada je Google ograničio pristup lokaciji u pozadini, s korisnicima popularnog aplikacija za golfžaleći se da ga više ne mogu koristiti za praćenje svojih hitaca. Srećom, Android Q dodaje novi "ACCESS_BACKGROUND_LOCATION
" dopuštenje koje, kada se odobri, uvijek dopušta aplikaciji pristup lokaciji uređaja, čak i kada aplikacija radi u pozadini. Dakle, nova verzija Androida ne samo da će nastaviti štititi korisnike od neželjenog pristupa lokaciji u pozadini, već će također pružiti mehanizam za korisnike da dopuste aplikacijama po svom izboru za praćenje njihove lokacije u pozadini.
Dodavanje "Uloga" u Androidu Q
U Danielu praktični video za naše XDA TV YouTube kanal, možda ste ga čuli kako spominje novi odjeljak "Uloge" u postavkama zadanih aplikacija (Postavke --> Aplikacije i obavijesti --> Zadane aplikacije). Jedine "uloge" koje su prikazane u videu bile su za preglednik, telefon i slanje poruka, što se činilo suvišnim jer već postoje zadane kategorije aplikacija za preglednik, telefonske aplikacije i SMS aplikacije. Nakon što sam proveo još neko vrijeme s Androidom Q na Pixelu 3 XL, otkrio sam uslugu "uloge" za koju bih mogao baciti stanje putem "dumpsys role
’ naredba. Nakon što sam to učinio, pronašao sam nekoliko "uloga" koje ne odgovaraju nijednoj od zadanih kategorija aplikacija koje već postoje: CAR_MODE_DIALER_APP
, CALL_COMPANION_APP
, CALL_SCREENING_APP
, i PROXY_CALLING_APP
. Nakon što sam instalirao nekoliko Googleovih aplikacija prve strane, uspio sam natjerati "Aplikaciju za telefon u načinu rada u automobilu" i "Aplikaciju za filtriranje poziva" da se pojave na stranicama "uloge", kao što je prikazano u nastavku.
Dekompilirao sam novi sistemski APK odgovoran za sučelje za upravljanje dozvolama za Android Q, novu aplikaciju pod nazivom "PermissionController" i pronašao roles.xml datoteku koja nagovještava što će "uloge" raditi u sljedećem Androidu verzija. Neću ovdje zalijepiti cijeli XML, ali ću podijeliti isječak jedne od uloga koji bi vam trebao pomoći da shvatite što će uloge raditi.
Recimo da odaberem aplikaciju koja će imati ulogu "galerije". Da bi se aplikacija prikazala kao valjana galerijska aplikacija, mora imati jednu obaveznu komponentu: aktivnost koja se pokreće s filtrima radnje i namjere kategorije android.intent.action.MAIN
i android.intent.category.APP_GALLERY
odnosno. Ako je to točno i aplikaciji je korisnik dodijelio ulogu "galerije", aplikaciji će automatski biti dodijeljena dopuštenja u skupu dopuštenja "media_visual", za koje vjerujem da se odnosi na novo dopuštenje za zvuk, video i slike koje sam opisao ranije. Zapravo, novi WRITE_MEDIA_VIDEO
i WRITE_MEDIA_IMAGES
dopuštenja su izričito dopuštena za aplikaciju s rolom "galerija". Na kraju, aplikacija postaje preferirani rukovatelj kada druga aplikacija pošalje namjeru da pozove aplikaciju galerije.
U osnovi, svakoj aplikaciji kojoj je dodijeljena određena "uloga" i ima deklarirane potrebne komponente i dopuštenja automatski se dodjeljuju drugi skupovi dopuštenja relevantni za njihove slučajeve upotrebe. U primjeru koji sam objavio iznad, aplikacija s "ulogom" galerije automatski dobiva dopuštenje za skupove dopuštenja povezanih s pristupom datoteci koji su joj potrebni za rad. To vjerojatno znači da aplikacija kojoj je korisnik dodijelio ulogu galerije ne bi trebala od korisnika tražiti dopuštenje za čitanje ili pisanje slikovnih ili video datoteka.
Sudeći po imenima, CAR_MODE_DIALER_APP
, CALL_COMPANION_APP
, CALL_SCREENING_APP
, i PROXY_CALLING_APP
uloge će korisniku omogućiti da odabere drugu aplikaciju za biranje kada vozi, aplikaciju za obavljanje raznih funkcija dok je korisnik u telefonski poziv, aplikacija za pregled telefonskih poziva prije nego što se korisnik javi i aplikacija za olakšavanje poziva s posredničkim brojem, odnosno. Ne vjerujemo da je uloga provjere poziva izravno povezana s ulogom Google Pixela Call Screen značajka, sudeći prema onome što smo vidjeli u AOSP-u. Umjesto toga, namijenjen je aplikacijama koje žele djelovati kao izbacivač za neželjene pozive, poput filtra poziva.
Obnovljeni program za instalaciju paketa
Androidov zadani program za instaliranje paketa (aplikacija koja upravlja instalacijom novih aplikacija) dobiva redizajn. Umjesto prikazivanja aktivnosti preko cijelog zaslona kad god želite instalirati novu aplikaciju, ažurirani program za instalaciju paketa u Androidu Q prikazuje mali dijaloški okvir na sredini zaslona. Ovo sučelje za instalaciju mini paketa već se dugo koristi za Android tablete, ali ovo je prvi put da ga vidimo na Android pametnim telefonima.
U Androidu Q, pokretanje bilo koje aplikacije koja cilja API razinu 22 ili nižu (Android 5.0 Lollipop) prikazat će upozorenje da je aplikacija zastarjela. Pretpostavljam da je to upozorenje dovoljno da odvrati većinu korisnika od zamaranja aplikacijama koje ciljaju verzije prije Androida Marshmallow. Uparite to s činjenicom da će Google zahtijevati da sve aplikacije poslane u Trgovinu Play nakon kolovoza 2019. ciljaju API razina 28, možete vidjeti kako su programeri sa zastarjelim aplikacijama prisiljeni preraditi svoje aplikacije kako bi ciljali na noviji API razini. Kako se sve to odnosi na novi instalacijski paket? Pa, budući da je Android 5.0 Lollipop posljednja razina API-ja bez obaveznih zahtjeva za dopuštenje za vrijeme izvođenja za određena osjetljiva dopuštenja, eventualna smrt ciljanja aplikacija Razina API-ja 22 i niža znači da Google više ne treba napraviti mjesta u poruci programa za instaliranje paketa za prikaz dugačkog popisa dopuštenja koja su odobrena aplikaciji montaža.
Ipak, vjerojatno nećete vidjeti ovaj pojednostavljeni program za instalaciju paketa na svim Android Q uređajima. Huawei, na primjer, prilagođava program za instaliranje paketa s ugrađenim skenerom virusa i zlonamjernog softvera (nešto što mrzim), kao i ugrađeni upravitelj dozvola (nešto što volim.) EMUI 10, dakle, vjerojatno će se držati programa za instalaciju paketa preko cijelog zaslona koji smo svi naviknut.
Nove opcije blokiranja poziva
Značajka mislili smo da dolazi u Android Pie zapravo se probio u Android Q, pokazujući vam koliko smo zapravo blizu finalizacije osnovnih značajki Androida Q. Značajka koju smo tada pronašli omogućila bi vam blokiranje poziva s nepoznatih, privatnih telefonskih brojeva, telefonskih brojeva koji se plaćaju ili bilo kojih brojeva koji nisu na vašem popisu kontakata. Evo snimke zaslona značajke iz aplikacije za biranje broja AOSP. Aplikacija Google Phone još nije ažurirana ovom značajkom, ali pretpostavljamo da će je uskoro dobiti.
Sve instalirane aplikacije sada prikazuju ikone pokretača (moguća pogreška?)
Većina aplikacija na vašem uređaju ima ikone pokretača jer su zamišljene kao pristupnici njihovom korisničkom sučelju. Međutim, nema svaka aplikacija korisničko sučelje, u kojem slučaju razvojni programer može odlučiti ne prijaviti aktivnost s filtrima namjere radnje i kategorije android.intent.action.MAIN
i android.intent.category.LAUNCHER
odnosno. Nisam siguran je li to samo greška, ali u Androidu Q, sve će aplikacije, čak i one koje pokušavaju sakriti svoje ikone pokretača na gore opisani način, prikazati ikone u pokretaču. Testirao sam ovo na standardnom AOSP Launcheru, Pixel Launcheru i Nova Launcheru na pokrenutom Google Pixel 3 XL procurila verzija Androida Q i usporedio ju s Google Pixelom 2 XL koji pokreće najnoviji Android 9 Pie izgraditi. Kada dodirnete jednu od ovih ikona, jednostavno ćete doći na stranicu s informacijama te aplikacije u postavkama.
Ako ovo nije samo greška, onda bi ovo bio način na koji bi korisnici mogli brzo saznati je li nova aplikacija instalirana, čak i ako se ta aplikacija pokušava sakriti od korisnika.
Pločica Brze postavke "Senzori isključeni".
Postoji nova pločica Brzih postavki pod nazivom "senzori isključeni" koja ne samo da uključuje način rada u zrakoplovu, već i onemogućuje sva očitanja senzora na uređaju. To sam potvrdio instalacijom DevCheck od XDA Recognized Developer flar2 i uspoređujući izlaz očitanja senzora sa i bez prekidača "senzori isključeni". Kada je pločica "isključeni senzori" uključena, uređaj prestaje izvještavati sa svih senzora na uređaju. Nisam siguran je li ova pločica Quick Setting namijenjena samo Googleovim inženjerima za otklanjanje pogrešaka, ali ovo bi bila korisna značajka za sve koji su uistinu zabrinuti koje podatke njihov uređaj prikuplja o svojim okoliš.
Cijena: besplatno.
4.6.
Više o Androidu Q
To je sve što sam do sada pronašao u Androidu Q u vezi s privatnošću i dozvolama. Pratite moj posljednji članak koji pokriva sva manja podešavanja korisničkog sučelja i UX-a. Pratite naše Android Q oznaka za više ovakvih članaka. Evo veze na neke od članaka na koje sam se češće vraćao, kao i na nekoliko drugih za koje mislim da biste trebali pročitati:
- Ekskluzivno: Rana verzija Androida Q ima tamnu temu za cijeli sustav, Revamp dozvole, nagovještaje "Desktop Mode" i više
- Ekskluzivno: Google radi na značajci sličnoj Face ID-u za Android Q
- Android Q može blokirati pozadinsko čitanje međuspremnika, bolje zaštititi vaše medijske datoteke, podržati vraćanje aplikacija na stariju verziju i još mnogo toga
- Android Q bi se mogao isporučiti s novim fontom, oblikom ikone i prekrivanjem boje naglaska
- "Dinamički Android" može omogućiti programerima da testiraju AOSP GSI na bilo kojem Android Q uređaju
- Tamni način rada Androida Q: Kako će Googleov sljedeći Android OS rješavati zasljepljujuće svijetle teme