Come aggiungere i cursori sinistro/destro alla barra di navigazione durante l'immissione di testo su Android O

Un tutorial su come mostrare i pulsanti cursore sinistro/destro sulla barra di navigazione su Android O, ma solo quando è attivo un campo di immissione testo.

Una delle funzionalità aggiunte più vecchie alle ROM personalizzate che deve ancora essere introdotta in una versione ufficiale di Android è la possibilità di spostare manualmente il cursore di immissione del testo. A seconda della ROM, potresti avere la possibilità di spostare il cursore di immissione del testo utilizzando i pulsanti del volume o premendo i pulsanti virtuali sulla barra di navigazione. Questa funzionalità è essenziale se torni spesso indietro per apportare correzioni durante la digitazione, ma senza una ROM personalizzata non potrai godertela.

Tuttavia, se stai eseguendo il file Anteprima per sviluppatori Android O che ha una novità personalizzazione della barra di navigazione nascosto sotto SystemUI Tuner, puoi aggiungere i cursori della tastiera sinistra/destra alla barra di navigazione. Tutto quello che devi fare è impostare il tasto sinistro della barra di navigazione su

KEYCODE_DPAD_LEFT (#21) e il tasto destro della barra di navigazione su KEYCODE_DPAD_RIGHT (#22). Per quanto riguarda le icone, è più sensato utilizzare le icone freccia sinistra/destra predefinite. Questo metodo funziona sicuramente, come sottolineato da Polizia Android, ma è difettoso perché richiede che queste chiavi siano posizionate permanentemente sulla barra di navigazione.

Se haistatoseguente Mio precedentetutorial sul personalizzatore della barra di navigazione di Android O, saprai che è possibile modificare i due tasti della barra di navigazione in base a qualsiasi criterio desideriamo. Pertanto, per rendere i nostri nuovi cursori di input di testo/tastiera più consapevoli del contesto, possiamo utilizzare Tasker mostra i pulsanti del cursore della tastiera solo mentre l'immissione di testo viene visualizzata su Android O. Forniremo istruzioni dettagliate in questo tutorial, ma puoi anche passare alla parte inferiore per scaricare il profilo e importarlo.

Grazie a Eli Irvin per aver testato il mio profilo Tasker e aver catturato questa registrazione dello schermo!


Mostra i cursori sinistro/destro nella barra di navigazione durante l'immissione del testo

Requisiti:

  • Tasker ($2.99)
  • SecureTask
  • AutoInput Beta (~$1.70)

Tasker è necessario perché è l'app di automazione che stiamo utilizzando che, quando AutoInput rileva un campo di testo, invierà comandi tramite il plug-in SecureTask per modificare la nostra barra di navigazione. Una volta installate queste applicazioni, dobbiamo configurarle.

Sebbene non esista un modo diretto per rilevare quando viene visualizzata la tastiera, una cosa che possiamo monitorare è quando un campo di testo è a fuoco. Saprai quando un campo di immissione testo è a fuoco osservando che un cursore lampeggiante viene visualizzato in una casella di testo. Possiamo monitorarli utilizzando l'ultima versione beta di AutoInput appena rilasciata, che ci consente di raggiungere questo obiettivo. Affinché AutoInput possa monitorare i campi di testo, dobbiamo abilitare il suo servizio di accessibilità.

Farlo è molto veloce, basta andare su Impostazioni --> Accessibilità e cercare "Input automatico" nell'elenco dei Servizi. Abilita il servizio di accessibilità.

Successivamente, dobbiamo garantire a SecureTask la possibilità di modificare le impostazioni di sistema sul nostro dispositivo. Per fare ciò, dobbiamo concedere a SecureTask un permesso speciale noto come WRITE_SECURE_SETTINGS che è normalmente inaccessibile alle normali applicazioni, ma può essere concesso manualmente da un utente tramite l'utilizzo di ADB. Pertanto, dovrai avere ADB attivo e funzionante sul tuo computer per farlo funzionare. Fortunatamente, concedere questa autorizzazione è solo una cosa una tantum, quindi se hai intenzione di seguire qualcuno dei nostri altre guide relative ad Android O, dovrai farlo prima o poi.

Configurazione dell'ADB

La prima cosa che devi fare è scaricare il binario ADB per il tuo particolare sistema operativo. è possibile farlo qui. Una volta scaricati, devi assicurarti di avere il file autista adeguato se sei su Windows.

Dopo aver estratto il file binario in una cartella separata e aver installato il driver, dobbiamo abilitare il debug USB sullo smartphone. Per fare ciò, apri Impostazioni e vai su Informazioni sul telefono. Tocca Numero build 7 volte finché non viene visualizzata una finestra di dialogo che ti informa che hai sbloccato le Opzioni sviluppatore. Ora puoi accedere alle Opzioni sviluppatore nelle Impostazioni. Apparentemente in Android O, devi inserire il tuo PIN/password prima di poter aprire le Opzioni sviluppatore. Fallo e cerca Debug USB, quindi abilitalo.

Ora collega il telefono e apri un prompt dei comandi nella stessa directory in cui hai estratto il binario ADB. (Per gli utenti Windows, tenere premuto MAIUSC+fare clic con il pulsante destro del mouse sulla cartella e selezionare "apri prompt dei comandi qui".) Digitare adb devices nel prompt dei comandi. Vedrai un messaggio che informa che il server ADB è in fase di avvio, quindi sul tuo telefono vedrai un messaggio che ti chiede di concedere l'accesso ADB al tuo computer. Accettarla. Ora quando entri adb devices nel prompt dei comandi, dovresti vedere il numero di serie del tuo dispositivo, in tal caso hai avuto successo.

Concessione WRITE_SECURE_SETTINGS a SecureTask

Con un prompt dei comandi ADB aperto, inserisci il comando seguente per concedere a SecureTask l'autorizzazione richiesta.

adbshellpmgrantcom.balda.securetaskandroid.permission.WRITE_SECURE_SETTINGS

SecureTask ora avrà la possibilità di modificare le impostazioni di sistema senza accesso root! Ora siamo pronti per passare a Tasker.

Impostazione del profilo Tasker

Apri Tasker e crea un nuovo profilo premendo il pulsante +. Nominalo Cursori della tastiera e scegli il Evento Contesto. Vai a Plugin -> AutoInput -> Azione dell'interfaccia utente. Per i Tipi di azione, seleziona Elemento di input focalizzatoFocus dell'elemento di input perso. Lascia vuoto il testo dell'elemento. L'aggiunta di questo contesto AutoInput avvierà il servizio di monitoraggio di AutoInput per rilevare quando viene immesso un testo il campo guadagna o perde il focus e lo memorizza in una variabile come valore booleano (vero/falso) che possiamo Leggere.

Una volta terminata la creazione del profilo, Tasker ti chiederà di aggiungere un'attività. Scegli di creare una nuova attività, ma non preoccuparti di darle un nome. Una volta nella schermata di modifica dell'attività, aggiungi le seguenti azioni:

  1. A1: Compito --> Se. Impostalo su if %aifocus ~ true. Questa sarà la nostra condizione quando AutoInput rileva che un campo di immissione testo è a fuoco. Le due azioni successive imposteranno i tasti della barra di navigazione sui tasti DPAD_LEFT e DPAD_RIGHT.
  2. A2: Plugin --> SecureTask --> Impostazioni sicure. Azione: Scrivere. Collocamento: secure sysui_nav_bar_left. Valore: key(21:com.android/systemui/2131230907).
  3. A3: Plugin --> SecureTask --> Impostazioni sicure. Azione: Scrivere. Collocamento: secure sysui_nav_bar_right. Valore: key(22:com.android/systemui/2131231004).
  4. A4: Attività --> Altro. Questo avviene quando %aifocus è impostato su false, in altre parole il campo di immissione del testo ha perso il focus. Cancelleremo quindi i tasti della barra di navigazione.
  5. A5: Plugin --> SecureTask --> Impostazioni sicure. Azione: Scrivere. Collocamento: secure sysui_nav_bar_left. Valore: null.
  6. A6: Plugin --> SecureTask --> Impostazioni sicure. Azione: Scrivere. Collocamento: secure sysui_nav_bar_right. Valore: null.
  7. A7: Attività --> Fine se.

Hai finito con questo script Tasker. Ora, ogni volta che AutoInput rileva un campo di immissione di testo attivo (che è correlato a quando la tastiera è visualizzato), verranno visualizzati due nuovi tasti cursore della barra di navigazione che scompariranno quando il campo di immissione testo non sarà più presente messo a fuoco.


Scarica e importa

Come per tutti i tutorial relativi a Tasker, forniremo il file XML che puoi scaricare e importare. Scarica il file .prf.xml da AndroidFileHost di seguito e salvalo nella memoria interna. Apri Tasker e premi a lungo sulla scheda Profili in alto finché non vedi un pulsante Importa. Toccalo e cerca il file XML che hai appena salvato, quindi selezionalo per importarlo. Assicurati di avere il servizio di accessibilità di AutoInput abilitato e di aver concesso il WRITE_SECURE_SETTINGS su SecureTask come menzionato nel mio articolo, altrimenti questo profilo non funzionerà qualsiasi cosa sul tuo telefono!

Scarica il profilo "Cursori della tastiera" da AndroidFileHost

Se ti stai chiedendo quali altri tasti utili possiamo aggiungere alla barra di navigazione per rendere Android O un'esperienza più piacevole, ti mostreremo una configurazione alternativa in un tutorial futuro.