Prispôsobenie navigačnej lišty systému Android O bolo v systéme Android Nougat po celý čas skryté. Všetci sme to vedeli, ale ukázalo sa, že to nikdy nepotrebovalo root!
Zdvihnite ruku tu: koľkí z vás vlastne bežia ako prví Ukážka vývojára systému Android O? Nielen, že je Developer Preview k dispozícii len pre hŕstku zariadení Google, ale naozaj nie je vhodný ako každodenný ovládač. Samozrejme, nikdy nebol určený na použitie bežným používateľom, ale skôr ako testovacie zariadenie pre vývojárov, aby sa ubezpečili, že ich aplikácie budú fungovať, keď bude Android O oficiálne uvoľnený. To však neznamená, že si nemôžeme užiť trochu zábavy a pozrieť sa, čo je vo vnútri. Jednou z najzaujímavejších funkcií, ktoré prichádzajú do zariadení Android O, je prispôsobenie navigačnej lišty nachádza v System UI Tuner. Ale čo keby sme vám povedali, že toto úžasné prispôsobenie navigačného panela nie je dostupné iba používateľom v ukážke vývojára Android O? Presne tak, táto funkcia vlastne už funguje na Androide 7.X Nougat a nepotrebuje ani root prístup.
Facepalm. Keď som napísal svoje návody na kontextovú úpravu navigačného panela v systéme Android O som predpokladal, že tieto príkazy shellu, ktoré odosielam, budú fungovať iba v systéme Android O. Ukazuje sa, že to nie je pravda - tieto príkazy v skutočnosti fungujú dobre na Android Nougat. teraz poznáme sa takmer 9 mesiacov že prispôsobenie navigačného panela by bolo možné povoliť v systéme Android Nougat, avšak prvotné zistenie to od používateľov vyžadovalo upraviť súbor APK SystemUI do zobraziť preferenciu tuneru navigačnej lišty. Pre mnohých používateľov to bola jednoznačne hlavná prekážka, ktorú bolo potrebné prekonať, pretože to vyžaduje nielen prístup root, ale vyžaduje si aj dekompiláciu a opravu súboru SystemUI APK pre každú jednu aktualizáciu. Vy však ani nie potrebu ak chcete upraviť systémové používateľské rozhranie tak, aby odhalilo túto aktivitu ladenia navigačnej lišty, môžete navigačnú lištu aj tak upraviť manuálne pomocou príkazov shellu!
Upozornenie: Od niektorých používateľov sa dozvedáme, že prispôsobenie navigačného panela nefunguje na najnovšej beta verzii systému Android 7.1.2 na zariadení Google Pixel. Vyskúšajte tieto príkazy na vlastné riziko. Pre bezpečnosť odporúčam vyskúšať toto prispôsobenie pomocou aplikácie vyvinutej spoločnosťou paphonb namiesto príkazov ADB. Ak to nefunguje s jeho aplikáciou, potom NESKÚŠAJTE príkazy ADB!
Môžeme potvrdiť, že toto prispôsobenie skrytého navigačného panela v systéme Android Nougat funguje na nasledujúcich zariadeniach:
- Google Nexus 6
- Google Nexus 5X
- Google Nexus 6P
- Google Pixel
- Google Pixel XL
- OnePlus 3
- OnePlus 3T
- Telefóny Sony Xperia
Zdá sa, že prispôsobenie navigačnej lišty funguje na akomkoľvek zariadení alebo ROM, ktoré neodstránili implementáciu AOSP, takže väčšina zariadení, ktoré majú na sklade alebo takmer skladom firmvér založený na systéme Android 7.X Nougat, by mal fungovať.
Manuálna úprava navigačného panela v systéme Android Nougat funguje veľmi podobne ako v systéme Android O. Môžete buď odoslať príkaz prostredia ADB na úpravu konkrétneho nastavenia, alebo udeliť povolenie WRITE_SECURE_SETTINGS aplikácii, ako je napr. SecureTask alebo AutoTools aby mohli ovládať úpravu nastavení. Zabezpečená predvoľba, ktorá ovláda tlačidlá navigačnej lišty. S použitím Tasker, môžete kontextovo upraviť aj navigačný panel.
Udelenie WRITE_SECURE_SETTINGS pre SecureTask alebo AutoTools je jednoduché, pretože všetko, čo musíte urobiť, je zadať niektorý z nasledujúcich príkazov shellu ADB, ktorý nevyžaduje, aby ste boli rootovaní.
Pre SecureTask:
adbshellpmgrantcom.balda.securetaskandroid.permission.WRITE_SECURE_SETTINGS
Pre AutoTools:
adbshellpmgrantcom.joaomgcd.autotoolsandroid.permission.WRITE_SECURE_SETTINGS
Potom je syntax na úpravu navigačného panela nasledovná:
settings put secure sysui_nav_bar "key(KEYCODE_CONSTANT: file:///path/to/icon.png),back; home; recent, key(KEYCODE_CONSTANT: file:///path/to/icon.png)"
Môžete preusporiadať rozloženie kláves, pridať medzery doľava alebo doprava na posunutie tlačidiel (písanie space
pridá na navigačnú lištu prázdny slot) vyberte si vlastné ikony, zmeňte kódy kláves atď. podľa ľubovôle podľa tejto syntaxe. Napríklad tu je príkaz, ktorý by som použil na pridanie a KEYCODE_MENU tlačidlo a a KEYCODE_FORWARD tlačidlo na môj navigačný panel, aby som zlepšil môj zážitok z prehliadania Chrome:
settings put secure sysui_nav_bar "key(82:file:///storage/emulated/0/NavIcons/menu.png),back; home; recent, key(125:file:///storage/emulated/0/NavIcons/forward.png)"
Cesty ikon, na ktoré príkaz odkazuje, sú vlastné ikony, z ktorých som stiahol IkonyDB. Správnu veľkosť ikony som získal vyhľadaním hustoty zobrazenia na svojom zariadení Material.io potom korelovať túto hustotu s správnu veľkosť ikony pomocou referenčnej tabuľky.
Ak chcem vrátiť svoj navigačný panel späť na predvolené rozloženie, zadal by som tento príkaz:
settings put secure sysui_nav_bar "space, back; home; recent, space"
Ak ste držali krok s mojimi návodmi na Android O, táto syntax sa vám bude zdať povedomá. Ak nie, potom sa nebojte. Existuje na to aplikácia.
Vlastný navigačný panel
Senior člen XDA paphonb vyvinula aplikáciu s názvom Vlastný navigačný panel to urobí všetku prácu za vás a zmení tlačidlá navigačnej lišty. Aplikácia sa veľmi ľahko používa, pretože je založená na prispôsobení navigačnej lišty systému Android O. Aplikácia však bola kódovaná tak, aby vám umožnila používať vlastné ikony (podobne ako v mojom návode), zahŕňa možnosť vytvárať profily, medzi ktorými môžete rýchlo prepínať, a navyše má Podpora Tasker, takže môžete kontextovo meniť navigačný panel na základe akýchkoľvek kritérií chcieť.
Všetko, čo musíte urobiť, je nainštalovať aplikáciu a potom jej udeliť povolenie WRITE_SECURE_SETTINGS vydaním nasledujúceho príkazu v ADB:
adbshellpmgrantxyz.paphonb.systemuitunerandroid.permission.WRITE_SECURE_SETTINGS
Keď potom aplikáciu otvoríte, aplikácia určí, či vaše zariadenie podporuje úpravu navigačného panela alebo nie. Pokúsi sa zobraziť "ďalší" kľúč v strede vášho navigačného panela. Ak sa zobrazí, môžete upraviť svoj navigačný panel. Ak nie, aplikácia vám oznámi, že máte smolu.
Aplikácia je zadarmo ale vyžaduje, aby ste si zakúpili profesionálnu verziu, ak chcete vytvoriť viac ako 2 profily. Táto aplikácia určite uľahčuje úpravu vašej navigačnej lišty, takže si osobne myslím, že cena za to stojí, ale ak máte know-how, môžete vykonávať všetky funkcie, ktoré táto aplikácia ponúka, prostredníctvom aplikácie Tasker a SecureTask/AutoTools.
Možnosti prispôsobenia
S touto aplikáciou + Tasker môžete robiť veľa vecí. Popísal som veľa takýchto prípadov v mojich tutoriáloch, ale tu je stručný zoznam niektorých vecí, ktoré môžete vyskúšať:
- Pri prehrávaní hudby zobraziť ovládacie prvky prehrávania médií
- Zobrazte v Gmaile tlačidlo dopredu/dozadu, aby ste mohli rýchlo prechádzať e-mailami
- Zobrazovať pri používaní prehliadača Chrome klávesy posúvania nahor/nadol
- Zobrazovať ľavý/pravý kurzor, keď je zobrazená klávesnica
- Pri používaní prehliadača Chrome zobraziť tlačidlo ponuky/dopredu
- Počas telefonického hovoru zobraziť skratku kontaktov a tlačidlo ukončenia hovoru
To je to, na čo som prišiel, keď som sa hral s tunerom navigačnej lišty v systéme Android O, ale mali by fungovať rovnako so skrytým tunerom navigačnej lišty v systéme Android Nougat.
Som úplne ohromený, že to trvalo tak dlho, kým niekto prišiel na to, že tento tuner navigačnej lišty funguje v systéme Android Nougat bez root. Keď sa nad tým zamyslím, dáva to úplný zmysel, že to funguje bez root. Koniec koncov, mod SystemUI odhaľuje iba fragment preferencií na spustenie aktivity tuneru navigačnej lišty, nie je to tak, že tento mod skutočne pridáva funkciu do SystemUI - vždy tam bol. Príkazy shellu nám umožňujú zmeniť navigačnú lištu bez toho, aby sme odhalili túto aktivitu SystemUI, a aplikácia paphonb to všetko uľahčuje.
Ako by ste chceli prispôsobiť svoj navigačný panel? Dajte nám vedieť v komentároch nižšie!