En veiledning om hvordan du viser venstre/høyre markørknapper til navigasjonslinjen på Android O, men bare når et tekstinntastingsfelt er aktivt.
En av de eldste funksjonstilleggene til tilpassede ROM-er som ennå ikke har kommet inn i en offisiell versjon av Android, er muligheten til å manuelt flytte tekstinndatamarkøren. Avhengig av ROM-en din, kan du ha muligheten til å flytte tekstinntastingsmarkøren ved å bruke volumknappene eller ved å trykke på virtuelle knapper på navigasjonslinjen. Denne funksjonen er viktig hvis du ofte går tilbake for å gjøre rettelser når du skriver, men uten en tilpasset ROM vil du ikke kunne nyte den.
Imidlertid, hvis du kjører Android O-utviklerforhåndsvisning som har en ny navigasjonslinjetilpasning skjult under SystemUI Tuner, så kan du legge til venstre/høyre tastaturmarkører til navigasjonslinjen. Alt du trenger å gjøre er å sette venstre navigasjonslinjetast til KEYCODE_DPAD_LEFT (#21) og høyre navigasjonstast til KEYCODE_DPAD_RIGHT (#22). Når det gjelder ikonene, er det mest fornuftig å bruke standard venstre/høyre pilikoner. Denne metoden fungerer definitivt,
som påpekt av Android politi, men det er feil fordi det krever at disse nøklene plasseres permanent på navigasjonslinjen.Hvis du harværtfølgende min tidligereveiledninger på Android O-navigasjonslinjetilpasningen, så vet du at det er mulig å endre de to navigasjonsfelttastene basert på hvilke kriterier vi ønsker. For å gjøre våre nye tekstinndata-/tastaturmarkører mer kontekstbevisste, kan vi bruke Tasker til å vis kun tastaturets markørknapper mens tekstinntasting vises på Android O. Vi gir trinnvise instruksjoner i denne opplæringen, men du kan også hoppe til bunnen for å laste ned profilen for å importere den.
Takk til Eli Irvin for å ha testet Tasker-profilen min og tatt dette skjermopptaket!
Vis venstre/høyre markører i navigasjonslinjen under tekstinntasting
Krav:
- Tasker ($2.99)
- SecureTask
- AutoInput Beta (~$1.70)
Tasker er nødvendig fordi det er automatiseringsappen vi bruker som, når AutoInput oppdager et tekstfelt, vil sende kommandoer gjennom SecureTask-plugin-modulen for å endre navigasjonslinjen vår. Når du har installert disse programmene, må vi sette dem opp.
Selv om det ikke er noen direkte måte å oppdage når tastaturet vises, er en ting vi kan overvåke når et tekstfelt er i fokus. Du vil vite når et tekstinntastingsfelt er i fokus ved å se at en blinkende markør vises i en tekstboks. Vi kan overvåke disse ved å bruke den nyeste betaversjonen av AutoInput som nettopp ble utgitt, noe som lar oss oppnå dette. For at AutoInput skal overvåke tekstfelt, må vi aktivere tilgjengelighetstjenesten.
Å gjøre det er veldig raskt, bare gå til Innstillinger --> Tilgjengelighet og se etter "AutoInput" på listen over tjenester. Aktiver tilgjengelighetstjenesten.
Deretter må vi gi SecureTask muligheten til å endre systeminnstillingene på enheten vår. For å gjøre det, må vi gi SecureTask en spesiell tillatelse kjent som WRITE_SECURE_SETTINGS som er normalt utilgjengelig for vanlige applikasjoner, men kan gis manuelt av en bruker ved bruk av ADB. Derfor må du ha ADB oppe og kjøre på maskinen din for å få dette til å fungere. Heldigvis er det å gi denne tillatelsen bare en engangs ting, så hvis du planlegger å følge noen av våre andre Android O-relaterte guider, må du gjøre dette til slutt.
Sette opp ADB
Det første du må gjøre er å laste ned ADB-binæren for ditt spesielle operativsystem. Du kan gjøre det her. Når du har lastet ned dem, må du forsikre deg om at du har riktig sjåfør hvis du er på Windows.
Når du har pakket ut binærfilen til en egen mappe og har installert driveren, må vi neste aktivere USB-feilsøking på smarttelefonen. For å gjøre det, åpne Innstillinger og gå til Om telefonen. Trykk på Byggnummer 7 ganger til du får en dialogboks som forteller deg at du har låst opp utvikleralternativer. Du kan få tilgang til utvikleralternativer i Innstillinger nå. Tilsynelatende i Android O må du skrive inn PIN-koden/passordet ditt før du kan åpne utvikleralternativer. Gjør det og se etter USB Debugging, og aktiver det.
Koble nå til telefonen og åpne en ledetekst i samme katalog der du pakket ut ADB-binæren. (Windows-brukere, hold nede shift+høyreklikk i den mappen og velg "åpne ledetekst her.") Skriv adb devices
inn i ledeteksten. Du vil se en melding om at ADB-serveren startes, og deretter vil du se en melding på telefonen din som ber deg om å gi datamaskinen ADB-tilgang. Aksepter det. Nå når du går inn adb devices
i ledeteksten, bør du se enhetens serienummer, i så fall var du vellykket.
Gir WRITE_SECURE_SETTINGS til SecureTask
Med en ADB-ledetekst åpnet, skriv inn følgende kommando for å gi SecureTask den nødvendige tillatelsen.
adbshellpmgrantcom.balda.securetaskandroid.permission.WRITE_SECURE_SETTINGS
SecureTask vil nå ha muligheten til å endre systeminnstillinger uten root-tilgang! Nå er vi klare for å gå videre til Tasker.
Sette opp Tasker-profilen
Åpne Tasker og opprett en ny profil ved å trykke på +-knappen. Navngi det Tastaturmarkører og velg Begivenhet Kontekst. Gå til Plugin --> AutoInput --> UI Action. For handlingstyper, velg Input Element Fokusert og Inndataelementfokus mistet. La elementteksten stå tom. Ved å legge til denne AutoInput Context vil AutoInputs monitortjeneste startes for å oppdage når en tekstinntasting felt får eller mister fokus, og lagrer det i en variabel som en boolsk (sann/falsk) verdi som vi kan lese.
Når du er ferdig med å lage profilen, vil Tasker be deg legge til en oppgave. Velg å opprette en ny oppgave, men ikke gi den et navn. Når du er i skjermbildet for oppgaveredigering, legger du til følgende handlinger:
- A1: Oppgave --> Hvis. Sett den til hvis %aifocus ~ sant. Dette vil være vår betingelse for når AutoInput oppdager at et tekstinntastingsfelt er i fokus. De neste to handlingene vil sette navigasjonslinjen til tastene DPAD_LEFT og DPAD_RIGHT.
-
A2: Plugin --> SecureTask --> Sikre innstillinger. Handling: Skrive. Innstilling:
secure sysui_nav_bar_left
. Verdi:key(21:com.android/systemui/2131230907)
. -
A3: Plugin --> SecureTask --> Sikre innstillinger. Handling: Skrive. Innstilling:
secure sysui_nav_bar_right
. Verdi:key(22:com.android/systemui/2131231004)
. - A4: Oppgave --> Annet. Dette er når %aifocus er satt til usann, i rekkefølgen på at tekstinntastingsfeltet har mistet fokus. Vi vil da tømme navigasjonslinjetastene.
-
A5: Plugin --> SecureTask --> Sikre innstillinger. Handling: Skrive. Innstilling:
secure sysui_nav_bar_left
. Verdi:null
. -
A6: Plugin --> SecureTask --> Sikre innstillinger. Handling: Skrive. Innstilling:
secure sysui_nav_bar_right
. Verdi:null
. - A7: Oppgave --> Avslutt hvis.
Du er ferdig med dette Tasker-skriptet. Nå, når som helst AutoInput oppdager et tekstinndatafelt i fokus (som korrelerer med når tastaturet er viser), vil du se to nye navigasjonsfelt-markørtaster som forsvinner når tekstinntastingsfeltet ikke lenger er i fokus.
Last ned og importer
Som med alle Tasker-relaterte opplæringsprogrammer, vil vi tilby XML-filen du kan laste ned og importere. Last ned .prf.xml-filen fra AndroidFileHost nedenfor og lagre den på internminnet ditt. Åpne Tasker og trykk lenge på Profiler-fanen øverst til du ser en Import-knapp. Trykk på det og se etter XML-filen du nettopp har lagret, og velg den for å importere den. Sørg for at du har AutoInputs tilgjengelighetstjeneste aktivert og har gitt den WRITE_SECURE_SETTINGS til SecureTask som nevnt i artikkelen min, ellers vil ikke denne profilen fungere alt på telefonen din!
Last ned "Keyboard Cursors"-profilen fra AndroidFileHost
Hvis du lurer på hvilke andre nyttige taster vi kan legge til i navigasjonslinjen for å gjøre Android O til en morsommere opplevelse, viser vi deg et alternativt oppsett i en fremtidig opplæring.