Ako povoliť celosystémový imerzný režim bez root

Návod, ako povoliť imerzívny režim v celom systéme (alebo na základe jednotlivých aplikácií) bez potreby prístupu root. Funguje na všetkých zariadeniach so systémom Android 4.4+.

Keďže sa obrazovky telefónov zväčšujú a zväčšujú, niekedy chceme skryť stavovú a navigačnú lištu, aby sme si mohli prezerať náš obsah pomocou celej ostrej a krásnej HD obrazovky.

Počnúc systémom Android 4.4 by sa aplikácie mohli implementovať Imerzívny režim skutočne priniesť koncovému používateľovi zážitok na celej obrazovke. Bohužiaľ, Google a OEM nikdy neodhalili možnosť používateľov manuálne ovládať, kedy chcú povoliť Imerzívny režim. Aplikácia tretej strany tzv Imerzívny režim GMD na celú obrazovku poskytuje riešenie už niekoľko rokov, ale najväčším problémom pri používaní tejto aplikácie je to, že porušuje mäkkú klávesnicu.

Používatelia sa už nejaký čas vznášajú okolo príkazu ADB, ktorý spúšťa celosystémový imerzívny režim, ale roky sa verilo, že použitie tohto príkazu po odpojení od terminálu ADB bude vyžadovať root prístup. Koncom minulého roka však používatelia zistili, že určité príkazy ADB by sa v skutočnosti mohli spustiť na zariadení 

bez prístupu rootza predpokladu, že aplikácia má určité povolenie. To znamená, že môžete povoliť celosystémový imerzný režim na požiadanie. Môžete napríklad vytvoriť dlaždicu Nougat na prepínanie pohlcujúceho režimu alebo dokonca nastaviť pohlcujúci režim pre jednotlivé aplikácie.


Prepnúť imerzný režim bez koreňa

Ako môžete vidieť vo videu vyššie, vytvoril som dlaždicu Nougat, ktorá prepína pohlcujúci režim, keď na ňu stlačím. Toto je na mojom nerootovanom Huawei Mate 9, ale malo by to fungovať takmer každé zariadenie so systémom Android 4.4 alebo novším. Aby to fungovalo, potrebujete iba dve aplikácie: Tasker a AutoTools Beta. Budete tiež musieť nainštalovať Automatické upozornenia ak chcete z toho urobiť nugátovú dlaždicu, ale nie je to potrebné.

Po nainštalovaní oboch aplikácií budete musieť udeliť WRITE_SECURE_SETTINGS povolenie pre AutoTools, aby ste mohli prepínať Imerzívny režim (medzi ďalšie úžasné nastavenia, ktorým sa budeme venovať neskôr). Dôvodom je, že príkaz pre imerzný režim je definovaný pod Nastavenie. globálne triedy, aj keď presná syntax príkazu je skrytá v AOSP. Najprv si prejdeme, ako udeliť potrebné povolenie AutoTools, a potom ako používať príkaz v Taskeri.


V systéme správy povolení systému Android aplikácie definujú povolenia, ktoré im chcú udeliť v súbore Manifest. Používatelia potom môžu udeliť alebo zamietnuť povolenia na inštaláciu (pred Marshmallow) alebo na požiadanie (Marshmallow+). Sú však určité povolenia, ktoré aplikáciám nemožno udeliť, aj keď o to požiadajú v Manifeste, ako napr WRITE_SECURE_SETTINGS. Je to preto, že udelenie povolenia akejkoľvek aplikácii tak silného ako toto by tejto aplikácii poskytlo veľa kontroly nad vaším zariadením.

Existuje však jedno riešenie, ktoré môžeme použiť na udelenie povolenia WRITE_SECURE_SETTINGS akejkoľvek aplikácii, ktorú chceme. Pomocou ADB správca balíkov (pm) môžeme udeliť akékoľvek povolenie akejkoľvek aplikácii, ktorú chceme (za predpokladu, že aplikácia požaduje toto povolenie v súbore Manifest).

Prvá vec, ktorú musíte urobiť, je nainštalujte binárny súbor ADB do počítača a následne správny ovládač pre vaše zariadenie. Potom povoľte ladenie USB v Možnostiach vývojára (prejdite do Nastavenia --> O telefóne a 7-krát klepnite na Číslo zostavy, ak ste tak ešte neurobili) a pripojte telefón k počítaču. Nakoniec po otvorení terminálu odošlite nasledujúci príkaz:

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

Teraz budú mať AutoTools možnosť zmeniť akékoľvek globálne, zabezpečené alebo systémové nastavenie na vašom zariadení. S týmito nastaveniami a zoznamom dostupných nastavení sa môžete pohrať rôznymi spôsobmi každá kategória úplne závisí od vášho zariadenia a zostavy softvéru, ale táto diskusia je na inú čas. V každom prípade vám ukážeme, ako používať automatické nástroje na prepínanie pohlcujúceho režimu.


Pomocou aplikácie Tasker môžete prepínať pohlcujúci režim prostredníctvom nugátovej dlaždice

Prepínanie pohlcujúceho režimu prostredníctvom dlaždice si samozrejme vyžaduje Android Nougat, takže ak Nougat nemáte, preskočte túto časť a dozviete sa, ako ho prepínať pre jednotlivé aplikácie. Ak ste tak ešte neurobili, stiahnite si Automatické upozornenia z Obchodu Google Play a udeľte mu Prístup k upozorneniam. Tento doplnok Tasker je to, čo použijeme na vytvorenie našej vlastnej dlaždice upozornení.

Tu je popis profilu pre tých z vás, ktorí poznajú Tasker. Ak nie ste tak oboznámení s Taskerom, prečítajte si podrobné pokyny.

Prepínač pohlcujúceho režimu nugátových dlaždíc

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 ]

čítaj viac

Otvorte Tasker a stlačte + tlačidlo v pravom dolnom rohu. Vytvorte Udalosť kontext a vyberte Plugin --> AutoNotification. Kliknutím na ikonu ceruzky otvoríte konfiguračnú stránku pre automatické upozornenia. Pod Filter príkazov vstúpiť imerzívny režim. Toto je presný príkaz, ktorý sa odošle, keď klepneme na dlaždicu Nugát.

Teraz vytvorte novú úlohu (s ľubovoľným názvom) pripojenú k tomuto profilu a pre prvú akciu prejdite na Plugin --> Automatické upozornenia --> Dlaždice. Pre číslo dlaždice vyberte 1. dlaždicu. Pre Príkaz vstúpiť imerzívny režim presne ako je napisane. The štítok je to, čo sa zobrazí pod dlaždicou, takže to pomenujte ako „Immersive Mode“. Pre Ikona, uložte si ikonu, ktorú som pripojil na začiatku tejto časti, do svojho interného úložiska a použite ju. Nakoniec pre Štát vyberte Prepnúť na aktívny/neaktívny.

Po dokončení spustite úlohu raz (stlačte tlačidlo prehrávania v ľavej dolnej časti obrazovky vytvorenia úlohy), aby sa dlaždica vyplnila. Keď teraz rozbalíte zoznam dostupných dlaždíc upozornení, mali by ste vidieť nový prepínač ponorného režimu.


Používanie aplikácie Tasker na prepínanie pohlcujúceho režimu na základe jednotlivých aplikácií

Prepínanie pohlcujúceho režimu na základe aplikácie je pomerne jednoduché, všetko, čo musíme urobiť, je vytvoriť kontext aplikácie v Tasker, ktorý sa spustí pri spustení alebo zatvorení aplikácie, a keď sa tak stane, je to Imerzívny režim prepnuté. Aby Tasker mohol sledovať aplikácie, musíte ho povoliť Služba dostupnosti.

Tu je popis profilu pre tých z vás, ktorí poznajú Tasker. Ak nie ste tak oboznámení s Taskerom, prečítajte si podrobné pokyny.

Imerzívny režim pre jednotlivé aplikácie

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 ]

čítaj viac

Najprv budete chcieť otvoriť Tasker, pretože vytvoríme profil na spustenie Imerzívneho režimu, keď sú otvorené určité aplikácie. Otvorte Tasker a stlačte + v pravom dolnom rohu vytvorte nový profil. Ako typ kontextu vyberte Aplikácia a vyberte všetky aplikácie, v ktorých chcete, aby bol Imerzívny režim aktívny.

Keď skončíte, stlačte tlačidlo späť a Tasker vás požiada o vytvorenie úlohy. Úlohu nie je potrebné pomenovať, takže stačí stlačiť značku začiarknutia a začať vytvárať úlohu. Keď vstúpite na obrazovku vytvorenia úlohy, musíte pridať iba jednu akciu. Stlačte tlačidlo + tlačidlo v spodnej časti a prejdite na Plugin --> AutoTools --> Secure Setting. Stlačte ikonu ceruzky na konfiguráciu AutoTools. Tu, prejdite na Displej potom klepnite na Imerzívny režim a vyberte si "Prepnúť."

Je tu posledná vec, ktorú musíme urobiť, a to deaktivovať Imerzívny režim pri ukončení aplikácie. Vráťte sa na hlavnú obrazovku aplikácie Tasker a dlhým stlačením na úlohe, ktorú ste práve vytvorili, aby ste mohli vytvoriť Ukončiť úlohu. Keď vytvoríte výstupnú úlohu, jednoducho pridajte tú istú akciu, ktorú ste pridali v prvej úlohe – tým prepnete Imerzívny režim.


Jemné doladenie ponorného režimu

Ako som už spomenul, presné príkazy dostupné na vynútenie imerzného režimu môžu byť získané z AOSP. Imerzívny režim môžete nastaviť tak, aby skryl iba panel upozornení alebo skryl aj navigačný panel, a to zadaním niektorého z nasledujúcich príkazov:

settings put global policy_control immersive.status=*

settings put global policy_control immersive.navigation=*

Samozrejme, AutoTools vám v skutočnosti neumožňuje priamo odosielať príkazy shellu, ako je tento, ale namiesto toho príkaz odošlete pomocou jeho rozhrania. Stačí vybrať "Vlastné nastavenie" v zabezpečených nastaveniach AutoTools, nastaviť Typ nastavenia na "globálne", nastaviť "Typ vstupu" na "String" a ako názov musíte zadať "policy_control immersive.status=*" alebo "policy_control imersive.navigation=*". Tento príkaz môžete použiť namiesto toho, ktorý sme použili na ovládanie nugátových dlaždíc alebo jednotlivých aplikácií, ak uprednostňujete pohlcujúci režim, ktorý skrýva buď stavový riadok alebo navigačný riadok.


Stiahnite si a importujte do aplikácie Tasker

Ako vždy poskytujeme súbor XML skriptu, ktorý si môžete stiahnuť a importovať. Jednoducho si stiahnite súbor z nižšie uvedeného odkazu a uložte ho kdekoľvek na internom úložisku. Otvorte Tasker a vypnite režim pre začiatočníkov v Predvoľbách. Potom sa vráťte na hlavnú obrazovku a dlho stlačte kartu „Profil“ hore. Mali by ste vidieť vyskakovacie okno s jednou z možností „Importovať“. Klepnite na to a prejdite na miesto, kde ste uložili súbor .prf.xml a vyberte tento súbor na import.

Ak sa rozhodnete importovať dlaždicu upozornení, uistite sa, že ste uložili ikonu Immersive Mode ako immersive.png a uložili ju do /sdcard/Tasker. Ak sa rozhodnete importovať profil podľa aplikácie, uistite sa, že vstúpite a prispôsobíte aplikácie, v ktorých sa bude spúšťať, pretože moja vzorka je nastavená tak, aby sa spúšťala iba pri používaní prehliadača Chrome alebo XDA Labs.

Stiahnite si prepínač pohlcujúceho režimu dlaždíc upozornení

Stiahnite si profil prepínania pohlcujúceho režimu pre jednotlivé aplikácie

Dúfame, že tento tip vám bude užitočný. Dajte nám vedieť v komentároch nižšie, či to funguje pre vás!