Kako omogućiti sustavni način rada bez roota

Vodič o tome kako omogućiti Immersive Mode na cijelom sustavu (ili na bazi svake aplikacije) bez potrebe za root pristupom. Radi na svim uređajima sa sustavom Android 4.4+.

Kako zasloni telefona postaju sve veći i veći, ponekad želimo sakriti statusnu i navigacijsku traku kako bismo mogli vidjeti svoj sadržaj koristeći cijeli jasan, prekrasan HD zaslon.

Počevši od Androida 4.4, aplikacije se mogu implementirati Imerzivni način rada kako bi doista krajnjem korisniku pružili iskustvo preko cijelog zaslona. Nažalost, Google i OEM-ovi nikada nisu izložili mogućnost korisnicima da ručno kontroliraju kada žele omogućiti Immersive Mode. Pozvana je aplikacija treće strane GMD Imerzivni način rada preko cijelog zaslona nudi zaobilazno rješenje već nekoliko godina, ali najveći problem s korištenjem ove aplikacije je taj što kvari softversku tipkovnicu.

Korisnici su se već neko vrijeme vrtjeli oko ADB naredbe koja pokreće Immersive Mode za cijeli sustav, ali godinama se vjerovalo da bi korištenje ove naredbe kada je isključen iz ADB terminala zahtijevalo root pristup. Međutim, krajem prošle godine korisnici su otkrili da se određene ADB naredbe zapravo mogu pokrenuti na uređaju 

bez root pristupa, pod uvjetom da aplikacija ima određenu dozvolu. To znači da možete omogućiti uranjajući način rada za cijeli sustav na zahtjev. Možete, na primjer, izraditi Nougat pločicu za uključivanje Imerzivnog načina rada ili čak postaviti Imerzivni način rada za svaku aplikaciju.


Uključivanje imerzivnog načina bez korijena

Kao što možete vidjeti u videu iznad, napravio sam Nougat pločicu koja isključuje Immersive Mode kada je pritisnem. Ovo je na mom nerutiranom Huawei Mate 9, ali trebalo bi raditi i dalje gotovo svaki Android 4.4+ uređaj. Za ovo su vam potrebne samo dvije aplikacije: Tasker i AutoTools Beta. Također ćete morati instalirati Automatska obavijest ako želite od ovoga napraviti Nougat pločicu, ali to nije obavezno.

Nakon što instalirate obje aplikacije, morat ćete odobriti WRITE_SECURE_SETTINGS dopuštenje za AutoTools kako biste mogli prebacivati ​​Immersive Mode (između ostalih izvrsnih postavki koje ćemo pokriti kasnije). To je zato što je naredba za Immersive Mode definirana pod postavke. Globalno klase, iako je točna sintaksa za naredbu skrivena u AOSP-u. Prvo ćemo proći kroz to kako dati potrebno dopuštenje AutoTools-u, a zatim kako koristiti naredbu u Taskeru.


Pod Androidovim sustavom upravljanja dozvolama, aplikacije definiraju dozvole koje žele dobiti u datoteci manifesta. Korisnici tada mogu dati ili odbiti dopuštenja pri instalaciji (prije Marshmallow) ili na zahtjev (Marshmallow+). Međutim, postoje određena dopuštenja koja se aplikacijama ne mogu dati čak i ako to zatraže u Manifestu, kao što je WRITE_SECURE_SETTINGS. To je zato što bi davanje toliko moćne dozvole bilo kojoj aplikaciji dalo tonu kontrole nad vašim uređajem.

Ali postoji jedno zaobilazno rješenje koje možemo upotrijebiti za dodjelu dopuštenja WRITE_SECURE_SETTINGS bilo kojoj aplikaciji koju želimo. Korištenjem ADB-a upravitelj paketa (pm) alata, možemo dodijeliti bilo koje dopuštenje bilo kojoj aplikaciji koju želimo (pod uvjetom da aplikacija zahtijeva to dopuštenje u datoteci manifesta).

Prva stvar koju ćete morati učiniti je instalirajte ADB binarnu datoteku na vaše računalo nakon čega slijedi pravi upravljački program za vaš uređaj. Zatim omogućite USB Debugging u Developer Options (idite na Settings --> About Phone i dodirnite Build number 7 puta ako već niste) i povežite telefon s računalom. Na kraju, pošaljite sljedeću naredbu kada otvorite terminal:

adb shell pm grant com.joaomgcd.autotools android.permission.WRITE_SECURE_SETTINGS

Sada će AutoTools imati mogućnost mijenjanja bilo koje Globalne, Secure ili System postavke na vašem uređaju. Postoje različiti načini na koje se možete igrati s ovim postavkama i popisom dostupnih postavki svaka kategorija u potpunosti ovisi o vašem uređaju i verziji softvera, ali ta je rasprava za drugu temu vrijeme. U svakom slučaju, krenut ćemo dalje i pokazati vam kako koristiti AutoTools za uključivanje imerzivnog načina rada.


Korištenje Taskera za uključivanje imerzivnog načina rada putem Nougat Tile

Uključivanje Immersive Mode putem pločice očito zahtijeva Android Nougat, pa ako nemate Nougat onda preskočite ovaj odjeljak da naučite kako ga uključiti i isključiti za svaku aplikaciju. Ako već niste, preuzmite AutoNotification iz trgovine Google Play i dodijelite mu pristup obavijestima. Ovaj Tasker dodatak je ono što ćemo koristiti za izradu vlastite prilagođene pločice obavijesti.

Ovdje je opis profila za one od vas koji su upoznati s Taskerom. Ako niste toliko upoznati s Taskerom, pročitajte upute korak po korak.

Nougat Tile Immersive Mode Prebacivanje

Profile: Toggle Immersive Mode (30)
Event: AutoNotification [ Configuration: Event Behaviour
Filter: immersivemode ]
Enter: Immersive Mode (33)
A1: AutoNotification Tiles [ Configuration: Tile: 1
Command: immersivemode
Label: Immersive mode
Icon: /storage/emulated/0/Tasker/immersive.png
State: 999 Timeout (Seconds):60 ]
A2: AutoToolsSecureSettings[ Configuration: Immersive Mode: Toggle Timeout (Seconds):60 ]

Čitaj više

Otvorite Tasker i pritisnite + gumb u donjem desnom kutu. Stvorite Događaj kontekst i odaberite Dodatak --> Automatska obavijest. Pritisnite ikonu olovke da biste otvorili konfiguracijsku stranicu za AutoNotification. Ispod Filtar naredbi Unesi uronjeni način rada. Ovo je točna naredba koja će biti poslana kada dodirnemo Nougat pločicu.

Sada stvorite novi zadatak (s bilo kojim nazivom) priložen ovom profilu, a za prvu radnju idite na Dodatak --> AutoNotification --> Pločice. Za broj pločice odaberite 1. pločicu. Za Naredba Unesi uronjeni način rada točno kako je napisano. The označiti je ono što će biti prikazano ispod pločice, pa ga nazovite nekako poput "Immersive Mode". Za Ikona, spremite ikonu koju sam priložio na početku ovog odjeljka u internu pohranu i upotrijebite je. Konačno za država Izaberi Prebacivanje aktivno/neaktivno.

Nakon što završite, pokrenite zadatak jednom (pritisnite gumb za reprodukciju u donjem lijevom kutu zaslona za izradu zadatka) kako bi se pločica popunila. Nakon što proširite popis dostupnih pločica s obavijestima, trebali biste vidjeti svoj novi preklopnik Immersive Mode.


Korištenje Taskera za uključivanje imerzivnog načina rada po aplikaciji

Prebacivanje imerzivnog načina rada po aplikaciji prilično je jednostavno, sve što trebamo učiniti je stvoriti kontekst aplikacije u Tasker koji će se pokrenuti kada se aplikacija pokrene ili zatvori, a kada se to dogodi je Immersive Mode preklopio. Kako bi Tasker mogao nadzirati aplikacije, morat ćete ga omogućiti Usluga pristupačnosti.

Ovdje je opis profila za one od vas koji su upoznati s Taskerom. Ako niste toliko upoznati s Taskerom, pročitajte upute korak po korak.

Imerzivni način rada po aplikaciji

Profile: Per-App Immersive Mode (192)
Application: Chrome or XDA Labs
Enter: Anon (199)
A1: AutoToolsSecureSettings[ Configuration: Immersive Mode: Toggle Timeout (Seconds):60 ]

Exit: Anon (204)
A1: AutoToolsSecureSettings[ Configuration: Immersive Mode: Toggle Timeout (Seconds):60 ]

Čitaj više

Prvo ćete htjeti otvoriti Tasker, jer ćemo stvoriti profil za pokretanje Immersive Mode kada su određene aplikacije otvorene. Otvorite Tasker i pritisnite + u donjem desnom kutu za izradu novog profila. Odaberite vrstu konteksta Primjena i odaberite sve aplikacije za koje želite da Immersive Mode bude aktivan.

Kada ste gotovi, pritisnite natrag i Tasker će vas pitati da napravite zadatak. Nema potrebe za imenovanjem zadatka, pa samo pritisnite kvačicu za početak stvaranja zadatka. Nakon što uđete u zaslon za izradu zadatka, postoji samo jedna radnja koju trebate dodati. pritisni + gumb na dnu i idite na Dodatak --> AutoTools --> Sigurna postavka. Pritisnite ikonu olovke da biste konfigurirali AutoTools. Evo, idi na Prikaz zatim dodirnite Imerzivni način rada i izaberi"Prebacivanje."

Postoji još jedna posljednja stvar koju moramo učiniti, a to je onemogućiti Immersive Mode kada izađete iz aplikacije. Vratite se na glavni zaslon Taskera i dugo pritisnite na Zadatku koji ste upravo izradili kako biste mogli izraditi Izlaz iz zadatka. Kada izradite izlazni zadatak, jednostavno dodajte istu radnju koju ste dodali u prvom zadatku - to će uključiti Immersive Mode.


Fino podešavanje uronjenog načina rada

Kao što sam ranije spomenuo, točne naredbe dostupne za prisiljavanje Immersive Mode mogu biti prikupljeno iz AOSP-a. Možete postaviti Immersive Mode tako da sakrije samo traku s obavijestima ili samo navigacijsku traku izdavanjem jedne od sljedećih naredbi:

settings put global policy_control immersive.status=*

settings put global policy_control immersive.navigation=*

Naravno, AutoTools vam zapravo ne dopušta izravno slanje naredbi ljuske poput ove, ali ćete umjesto toga poslati naredbu koristeći njegovo sučelje. Samo odaberite "Custom Setting" u AutoTools Secure Settings, postavite Setting Type na "global", postavite "Input Type" na "String", a za naziv morate unijeti "policy_control immersive.status=*" ili "policy_control immersive.navigation=*". Ovu naredbu možete upotrijebiti umjesto one koju smo koristili za Nougat pločicu ili kontrolu po aplikaciji ako više volite Immersive Mode koji skriva statusnu ili navigacijsku traku.


Preuzmite i uvezite u Tasker

Kao i uvijek, nudimo XML datoteku skripte koju možete preuzeti i uvesti. Jednostavno preuzmite datoteku s poveznice u nastavku i spremite je bilo gdje u svoju internu pohranu. Otvorite Tasker i onemogućite početnički način rada u postavkama. Zatim se vratite na glavni zaslon i dugo pritisnite karticu "Profil" na vrhu. Trebali biste vidjeti skočni prozor s jednom od opcija "Uvoz". Dodirnite to i potražite mjesto na kojem ste spremili .prf.xml datoteku i odaberite tu datoteku za uvoz.

Ako odlučite uvesti pločicu s obavijestima, provjerite jeste li spremili ikonu Immersive Mode kao immersive.png i spremite je u /sdcard/Tasker. Ako odlučite uvesti profil po aplikaciji, svakako uđite i prilagodite aplikacije na kojima će se aktivirati, jer je moj uzorak postavljen da se aktivira samo kada koristite Chrome ili XDA Labs.

Preuzmite preklopnik pločice obavijesti

Preuzmite Immersive Mode Toggle Profile po aplikaciji

Nadamo se da će vam ovaj savjet biti koristan. Javite nam u komentarima ispod ako vam ovo odgovara!