Cum să adăugați cursore stânga/dreapta la bara de navigare în timpul introducerii textului pe Android O

Un tutorial despre cum să afișați butoanele cursorului stânga/dreapta în bara de navigare pe Android O, dar numai atunci când un câmp de introducere a textului este activ.

Una dintre cele mai vechi adăugări de caracteristici la ROM-urile personalizate care încă nu a făcut loc într-o versiune oficială a Android este capacitatea de a muta manual cursorul de introducere a textului. În funcție de ROM-ul dvs., este posibil să aveți posibilitatea de a muta cursorul de introducere a textului folosind butoanele de volum sau apăsând butoanele virtuale din bara de navigare. Această caracteristică este esențială dacă reveniți frecvent pentru a face corecții la tastare, dar fără un ROM personalizat nu vă veți putea bucura de el.

Cu toate acestea, dacă rulați Previzualizare pentru dezvoltatori Android O care are un nou personalizare bară de navigare ascuns sub SystemUI Tuner, apoi puteți adăuga cursoare de la tastatură stânga/dreapta la bara de navigare. Tot ce trebuie să faceți este să setați tasta barei de navigare din stânga la

KEYCODE_DPAD_LEFT (#21) și tasta din bara de navigare din dreapta pentru KEYCODE_DPAD_RIGHT (#22). În ceea ce privește pictogramele, utilizarea pictogramelor implicite săgeți stânga/dreapta are cel mai sens. Această metodă funcționează cu siguranță, după cum a subliniat Poliția Android, dar este defectuos pentru că necesită plasarea acestor chei in permanenta pe bara de navigare.

Dacă aifostca urmare a Ale mele anteriortutoriale pe personalizarea barei de navigare Android O, atunci veți ști că este posibil să schimbați cele două taste din bara de navigare în funcție de criteriile pe care le dorim. Astfel, pentru a face noile noastre cursore de introducere de text/tastatură mai conștiente de context, putem folosi Tasker pentru a afișați butoanele cursorului de la tastatură numai în timp ce introducerea textului este afișată pe Android O. Vom oferi instrucțiuni pas cu pas în acest tutorial, dar puteți sări până la capăt pentru a descărca profilul pentru a-l importa.

Mulțumesc lui Eli Irvin pentru că mi-a testat profilul Tasker și a capturat această înregistrare a ecranului!


Afișați cursoarele stânga/dreapta în bara de navigare în timpul introducerii textului

Cerințe:

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

Tasker este necesar, deoarece este aplicația de automatizare pe care o folosim și care, atunci când AutoInput detectează un câmp de text, va trimite comenzi prin plug-in-ul SecureTask pentru a schimba bara de navigare. Odată ce ați instalat aceste aplicații, trebuie să le setăm.

Deși nu există nicio modalitate directă de a detecta când se afișează tastatura, un lucru pe care îl putem monitoriza este când un câmp de text este focalizat. Veți ști când un câmp de introducere a textului este focalizat observând că un cursor clipește într-o casetă de text. Le putem monitoriza folosind cea mai recentă versiune beta a AutoInput, care abia a fost lansată, ceea ce ne permite să realizăm acest lucru. Pentru ca AutoInput să monitorizeze câmpurile de text, trebuie să îi activăm Serviciul de accesibilitate.

Acest lucru este foarte rapid, pur și simplu accesați Setări --> Accesibilitate și căutați „Intrare automată” pe lista de Servicii. Activați serviciul de accesibilitate.

În continuare, trebuie să acordăm SecureTask posibilitatea de a modifica setările sistemului de pe dispozitivul nostru. Pentru a face acest lucru, trebuie să acordăm SecureTask o permisiune specială cunoscută sub numele de WRITE_SECURE_SETTINGS, care este în mod normal inaccesibil pentru aplicațiile obișnuite, dar poate fi acordat manual de către un utilizator prin utilizarea ADB. Astfel, va trebui să aveți ADB în funcțiune pe mașina dvs. pentru a funcționa. Din fericire, acordarea acestei permisiuni este o singură dată, așa că dacă intenționați să urmați oricare dintre noi alte ghiduri legate de Android O, va trebui să faci asta în cele din urmă.

Configurarea ADB

Primul lucru pe care trebuie să-l faceți este să descărcați binarul ADB pentru sistemul dvs. de operare. Puteți face acest lucru aici. După ce le-ați descărcat, trebuie să vă asigurați că aveți șofer adecvat dacă ești pe Windows.

Odată ce ați extras fișierul binar într-un folder separat și ați instalat driverul, trebuie să activăm apoi Depanarea USB pe smartphone. Pentru a face acest lucru, deschideți Setări și accesați Despre telefon. Atingeți Numărul versiunii de 7 ori până când veți primi un dialog care vă spune că ați deblocat Opțiuni pentru dezvoltatori. Puteți accesa Opțiuni pentru dezvoltatori din Setări acum. Aparent, în Android O, trebuie să introduceți codul PIN/parola înainte de a putea deschide Opțiuni pentru dezvoltatori. Faceți acest lucru și căutați Debugging USB, apoi activați-l.

Acum conectați telefonul și deschideți un prompt de comandă în același director în care ați extras binarul ADB. (Utilizatorii de Windows, țineți apăsată Shift+clic dreapta în acel folder și selectați „deschideți promptul de comandă aici”). adb devices în promptul de comandă. Veți vedea un mesaj că serverul ADB este pornit, apoi pe telefon veți vedea o solicitare care vă cere să acordați acces ADB computerului. Accepta aceasta. Acum când intri adb devices în promptul de comandă, ar trebui să vedeți numărul de serie al dispozitivului dvs., dacă da, atunci ați avut succes.

Se acordă WRITE_SECURE_SETTINGS pentru SecureTask

Cu un prompt de comandă ADB deschis, introduceți următoarea comandă pentru a acorda SecureTask permisiunea necesară.

adbshellpmgrantcom.balda.securetaskandroid.permission.WRITE_SECURE_SETTINGS

SecureTask va avea acum capacitatea de a modifica setările sistemului fără acces root! Acum suntem gata să trecem la Tasker.

Configurarea profilului Tasker

Deschideți Tasker și creați un profil nou apăsând butonul +. Numeste Cursore de la tastatură și alegeți Eveniment Context. Mergi la Plugin --> Intrare automată --> Acțiune UI. Pentru Tipuri de acțiuni, selectați Element de intrare focalizat și Element de intrare Focalizare pierdută. Lăsați textul elementului necompletat. Adăugarea acestui context AutoInput va porni serviciul de monitorizare al AutoInput pentru a detecta când este introdus un text câmpul câștigă sau pierde focalizarea și îl stochează într-o variabilă ca valoare booleană (adevărat/fals) pe care o putem citit.

După ce ați terminat de realizat profilul, Tasker vă va cere să adăugați o sarcină. Alegeți să creați o sarcină nouă, dar nu vă obosiți să îi dați un nume. Odată ajuns în ecranul de editare a sarcinilor, adăugați următoarele acțiuni:

  1. A1: Sarcină --> Dacă. Setați-l la dacă %aifocus ~ true. Aceasta va fi condiția noastră pentru când AutoInput detectează că un câmp de introducere a textului este focalizat. Următoarele două acțiuni vor seta tastele barei de navigare la tastele DPAD_LEFT și DPAD_RIGHT.
  2. A2: Plugin --> SecureTask --> Setări securizate. Acțiune: Scrie. Setare: secure sysui_nav_bar_left. Valoare: key(21:com.android/systemui/2131230907).
  3. A3: Plugin --> SecureTask --> Setări securizate. Acțiune: Scrie. Setare: secure sysui_nav_bar_right. Valoare: key(22:com.android/systemui/2131231004).
  4. A4: Sarcină --> Altceva. Acesta este momentul în care %aifocus este setat la false, în ordinea cuvintelor câmpul de introducere a textului și-a pierdut focalizarea. Vom șterge apoi tastele barei de navigare.
  5. A5: Plugin --> SecureTask --> Setări securizate. Acțiune: Scrie. Setare: secure sysui_nav_bar_left. Valoare: null.
  6. A6: Plugin --> SecureTask --> Setări securizate. Acțiune: Scrie. Setare: secure sysui_nav_bar_right. Valoare: null.
  7. A7: Sarcină --> Încheiere dacă.

Ai terminat cu acest script Tasker. Acum, oricând AutoInput detectează un câmp de introducere a textului focalizat (care se corelează cu momentul în care tastatura este care se afișează), veți vedea două taste de cursor noi din bara de navigare care vor dispărea atunci când câmpul de introducere a textului nu mai este în focus.


Descărcați și importați

Ca și în cazul tuturor tutorialelor legate de Tasker, vă vom oferi fișierul XML pe care îl puteți descărca și importa. Descărcați fișierul .prf.xml de la AndroidFileHost de mai jos și salvați-l în memoria internă. Deschideți Tasker și apăsați lung pe fila Profiluri sus, până când vedeți un buton Import. Atingeți-l și căutați fișierul XML pe care tocmai l-ați salvat, apoi selectați-l pentru a-l importa. Asigurați-vă că aveți serviciul de accesibilitate al AutoInput activat și că ați acordat WRITE_SECURE_SETTINGS la SecureTask așa cum este menționat în articolul meu, altfel acest profil nu va funcționa orice pe telefonul tau!

Descărcați profilul „Keyboard Cursors” de pe AndroidFileHost

Dacă vă întrebați ce alte taste utile putem adăuga la bara de navigare pentru a face Android O o experiență mai plăcută, vă vom arăta o configurare alternativă într-un viitor tutorial.