La personalizzazione della barra di navigazione di Android O era in realtà nascosta da sempre in Android Nougat. Bene, lo sapevamo tutti, ma a quanto pare non ha mai avuto bisogno del root!
Qui per alzata di mano: quanti di voi sono effettivamente i primi a correre Anteprima per sviluppatori Android O? Non solo l'anteprima per sviluppatori è disponibile solo per una manciata di dispositivi Google, ma non è davvero adatta come driver quotidiano. Naturalmente, non è mai stato concepito per essere utilizzato dall'utente medio, ma piuttosto come banco di prova per gli sviluppatori per garantire che le loro applicazioni funzionino quando Android O verrà rilasciato ufficialmente. Tuttavia, ciò non significa che non possiamo divertirci un po' e dare un'occhiata a cosa c'è dentro. Una delle funzionalità più interessanti in arrivo sui dispositivi Android O è la personalizzazione della barra di navigazione situato nel sintonizzatore dell'interfaccia utente del sistema. Ma cosa succederebbe se ti dicessimo che questa fantastica personalizzazione della barra di navigazione non è disponibile solo per gli utenti dell'anteprima per sviluppatori Android O? Esatto, questa funzione in realtà
funziona già su Android 7.X Nougat e non necessita nemmeno dell'accesso root.Facepalm. Quando ho scritto il mio tutorial sulla modifica contestuale della barra di navigazione su Android O, pensavo che questi comandi shell che stavo inviando avrebbero funzionato solo su Android O. Si scopre che non è vero: questi comandi funzionano perfettamente su Android Nougat. Ora, ci conosciamo da quasi 9 mesi la personalizzazione della barra di navigazione potrebbe essere abilitata in Android Nougat, tuttavia, la scoperta iniziale richiedeva agli utenti di farlo modificare l'APK SystemUI A esporre la preferenza del sintonizzatore della barra di navigazione. Questo è stato chiaramente un grosso ostacolo da superare per molti utenti poiché non solo richiede l'accesso root, ma richiede anche che l'APK SystemUI venga decompilato e corretto con patch per ogni singolo aggiornamento. Tuttavia, nemmeno tu Bisogno per modificare SystemUI per esporre questa attività di sintonizzazione della barra di navigazione, puoi comunque modificare manualmente la barra di navigazione tramite i comandi della shell!
Avvertimento: abbiamo sentito da alcuni utenti che la personalizzazione della barra di navigazione non funziona sull'ultima versione beta di Android 7.1.2 su Google Pixel. Prova questi comandi a tuo rischio e pericolo. Per sicurezza, consiglio di provare questa personalizzazione utilizzando l'app sviluppata da paphonb pubblicato di seguito anziché i comandi ADB. Se non funziona con la sua app, NON provare i comandi ADB!
Possiamo confermare che questa personalizzazione della barra di navigazione nascosta in Android Nougat funziona sui seguenti dispositivi:
- Google Nexus 6
- Google Nexus 5X
- Google Nexus 6P
- GooglePixel
- Google Pixel XL
- OnePlus 3
- OnePlus 3T
- Telefoni Sony Xperia
Il personalizzatore della barra di navigazione sembra funzionare su qualsiasi dispositivo o ROM che non abbia rimosso l'implementazione AOSP, quindi la maggior parte dei dispositivi dotati di firmware stock o quasi stock basato su Android 7.X Nougat dovrebbe funzionare.
La modifica manuale della barra di navigazione in Android Nougat funziona in modo molto simile a come funziona su Android O. Puoi inviare un comando shell ADB per modificare l'impostazione particolare o concedere l'autorizzazione WRITE_SECURE_SETTINGS a un'applicazione come SecureTask O Strumenti automatici in modo che possano controllare e modificare le impostazioni. Preferenza sicura che controlla i pulsanti della barra di navigazione. Con l'uso di Tasker, puoi modificare contestualmente anche la barra di navigazione.
Concedere WRITE_SECURE_SETTINGS a SecureTask o AutoTools è semplice poiché tutto ciò che devi fare è inserire uno dei seguenti comandi della shell ADB, che non richiede che tu sia rootato.
Per SecureTask:
adbshellpmgrantcom.balda.securetaskandroid.permission.WRITE_SECURE_SETTINGS
Per gli strumenti automatici:
adbshellpmgrantcom.joaomgcd.autotoolsandroid.permission.WRITE_SECURE_SETTINGS
Allora la sintassi per modificare la barra di navigazione è la seguente:
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)"
È possibile riorganizzare la disposizione dei tasti, aggiungere spazi a sinistra o a destra per spostare i pulsanti (digitando space
aggiungerà uno slot vuoto alla barra di navigazione) scegli icone personalizzate, cambia i codici di accesso, ecc. come preferisci seguendo questa sintassi. Ad esempio, ecco il comando che utilizzerei per aggiungere a KEYCODE_MENU pulsante e a CODICECHIAVE_AVANTI pulsante sulla barra di navigazione per migliorare la mia esperienza di navigazione su 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)"
I percorsi delle icone a cui fa riferimento il comando sono icone personalizzate da cui ho scaricato IconsDB. Ho acquisito la dimensione corretta dell'icona controllando la densità dello schermo del mio dispositivo su Materiale.io quindi correlando quella densità con il dimensione corretta dell'icona utilizzando una tabella di riferimento.
Se voglio ripristinare il layout predefinito della barra di navigazione, inserirei questo comando:
settings put secure sysui_nav_bar "space, back; home; recent, space"
Se segui i miei tutorial su Android O, questa sintassi ti sembrerà familiare. In caso contrario, non preoccuparti. C'è un'app per questo.
Barra di navigazione personalizzata
Membro senior dell'XDA paphonb ha sviluppato un'applicazione chiamata Barra di navigazione personalizzata questo fa tutto il lavoro per te e cambia i pulsanti della barra di navigazione. L'app è molto facile da usare poiché si basa sul personalizzatore della barra di navigazione di Android O. Tuttavia, l'app è stata codificata per consentire l'utilizzo di icone personalizzate (proprio come nel mio tutorial), include la possibilità di creare profili tra i quali è possibile passare rapidamente e inoltre ha Supporto Tasker in modo da poter modificare contestualmente la barra di navigazione in base a qualsiasi criterio tu Volere.
Tutto quello che devi fare è installare l'app, quindi concederle l'autorizzazione WRITE_SECURE_SETTINGS emettendo il seguente comando in ADB:
adbshellpmgrantxyz.paphonb.systemuitunerandroid.permission.WRITE_SECURE_SETTINGS
Quindi, quando apri l'app, l'app determinerà se il tuo dispositivo supporta o meno la modifica della barra di navigazione. Tenterà di presentare un tasto "successivo" centrato nella barra di navigazione. Se viene visualizzato, puoi modificare la barra di navigazione. In caso contrario, l'app ti dirà che sei sfortunato.
L'applicazione è gratuito ma richiede l'acquisto di una versione pro se desideri creare più di 2 profili. Questa applicazione semplifica sicuramente la modifica della barra di navigazione, quindi personalmente penso che ne valga la pena, ma se hai il know-how, puoi eseguire tutte le funzionalità offerte da questa app tramite Tasker e SecureTask/AutoTools.
Possibilità di personalizzazione
Ci sono molte cose che puoi fare con questa app + Tasker. Ho delineato molti di questi casi nei miei tutorial, ma ecco un breve elenco di alcune cose che puoi provare:
- Mostra i controlli di riproduzione multimediale durante la riproduzione di musica
- Mostra il tasto Avanti/Indietro in Gmail per scorrere rapidamente le email
- Mostra i tasti di scorrimento pagina su/giù quando utilizzi Chrome
- Mostra i cursori sinistra/destra quando è visualizzata la tastiera
- Mostra un menu/pulsante avanti quando usi Chrome
- Mostra un collegamento ai contatti e un pulsante di fine chiamata durante una telefonata
Questo è quello che mi è venuto in mente mentre giocavo con il sintonizzatore della barra di navigazione in Android O, ma dovrebbero funzionare lo stesso con il sintonizzatore della barra di navigazione nascosto in Android Nougat.
Sono assolutamente sbalordito che qualcuno ci abbia messo così tanto tempo a capire che questo sintonizzatore della barra di navigazione funziona su Android Nougat senza root. Ripensandoci, è assolutamente logico che funzioni senza root. Dopotutto, la mod SystemUI espone solo il frammento delle preferenze per avviare l'attività del sintonizzatore della barra di navigazione, non è che la mod aggiunga effettivamente la funzionalità a SystemUI: è sempre stata lì. I comandi della shell ci consentono semplicemente di modificare la barra di navigazione senza esporre questa attività dell'interfaccia utente di sistema e l'app di paphonb rende tutto più semplice.
Come vorresti personalizzare la barra di navigazione? Fateci sapere nei commenti qui sotto!