En vejledning om, hvordan du viser venstre/højre markørknapper til navigationslinjen på Android O, men kun når et tekstindtastningsfelt er aktivt.
En af de ældste tilføjelser til brugerdefinerede ROM'er, der endnu ikke har fundet vej til en officiel udgivelse af Android, er evnen til manuelt at flytte din tekstinputmarkør. Afhængigt af din ROM har du muligvis mulighed for at flytte tekstinputmarkøren ved hjælp af lydstyrkeknapperne eller ved at trykke på virtuelle knapper på navigationslinjen. Denne funktion er vigtig, hvis du ofte går tilbage for at foretage rettelser, når du skriver, men uden en brugerdefineret ROM vil du ikke kunne nyde den.
Men hvis du kører Forhåndsvisning af Android O Developer som har en ny navigationslinjetilpasning skjult under SystemUI Tuner, så kan du tilføje venstre/højre tastaturmarkører til din navigationslinje. Alt du skal gøre er at indstille venstre navigeringsbjælke til KEYCODE_DPAD_LEFT (#21) og den højre navigeringslinjetast til KEYCODE_DPAD_RIGHT (#22). Hvad angår ikonerne, giver det mest mening at bruge standard venstre/højre pilikoner. Denne metode virker bestemt,
som påpeget af Android politi, men det er mangelfuldt, fordi det kræver, at disse nøgler placeres permanent på navigeringslinjen.Hvis du harværetfølge min Tidligeretutorials på Android O navigationslinjetilpasning, så vil du vide, at det er muligt at ændre de to navigeringslinjetaster baseret på hvilke kriterier vi ønsker. For at gøre vores nye tekstinput/tastaturmarkører mere kontekstbevidste kan vi bruge Tasker til at vis kun tastaturets markørknapper, mens tekstinput vises på Android O. Vi giver trin-for-trin instruktioner i denne vejledning, men du kan også springe til bunden for at downloade profilen for at importere den.
Tak til Eli Irvin for at teste min Tasker-profil og fange denne skærmoptagelse!
Vis venstre/højre markører i navigeringslinjen under tekstinput
Krav:
- Tasker ($2.99)
- SecureTask
- AutoInput Beta (~$1.70)
Tasker er nødvendig, fordi det er automatiseringsappen, vi bruger, der, når AutoInput registrerer et tekstfelt, sender kommandoer gennem SecureTask-plugin'et for at ændre vores navigationslinje. Når du har installeret disse programmer, skal vi konfigurere dem.
Selvom der ikke er nogen direkte måde at registrere, hvornår tastaturet vises, er en ting, vi kan overvåge, når et tekstfelt er i fokus. Du ved, hvornår et tekstindtastningsfelt er i fokus, ved at observere, at en blinkende markør vises i en tekstboks. Vi kan overvåge disse ved at bruge den seneste betaversion af AutoInput, som først lige blev udgivet, hvilket giver os mulighed for at opnå dette. For at AutoInput kan overvåge tekstfelter, skal vi aktivere dens tilgængelighedstjeneste.
Det er meget hurtigt at gøre det, gå blot til Indstillinger --> Tilgængelighed og se efter "AutoInput" på listen over tjenester. Aktiver tilgængelighedstjenesten.
Dernæst skal vi give SecureTask mulighed for at ændre systemindstillinger på vores enhed. For at gøre det skal vi give SecureTask en særlig tilladelse kendt som WRITE_SECURE_SETTINGS, som er normalt utilgængelige for almindelige applikationer, men kan gives manuelt af en bruger ved brug af ADB. Derfor skal du have ADB oppe at køre på din maskine for at få dette til at virke. Heldigvis er det kun en engangs ting at give denne tilladelse, så hvis du planlægger at følge nogen af vores andre Android O-relaterede guider, bliver du nødt til at gøre dette til sidst.
Opsætning af ADB
Den første ting, du skal gøre, er at downloade ADB-binæren til dit bestemte OS. Det kan du gøre her. Når du har downloadet dem, skal du sikre dig, at du har ordentlig chauffør hvis du er på Windows.
Når du har udtrukket binæren til en separat mappe og har installeret driveren, skal vi næste gang aktivere USB Debugging på smartphonen. For at gøre det skal du åbne Indstillinger og gå til Om telefon. Tryk på Byg nummer 7 gange, indtil du får en dialogboks, der fortæller dig, at du har låst op for udviklerindstillinger. Du kan få adgang til Udviklerindstillinger i Indstillinger nu. Tilsyneladende i Android O skal du indtaste din pinkode/adgangskode, før du kan åbne Developer Options. Gør det og se efter USB-fejlretning, og aktiver det derefter.
Tilslut nu din telefon og åbn en kommandoprompt i den samme mappe, hvor du udpakkede ADB-binæren. (Windows-brugere, hold Shift+højreklik i den pågældende mappe og vælg "åbn kommandoprompt her.") Skriv adb devices
ind i kommandoprompten. Du vil se en meddelelse om, at ADB-serveren er ved at blive startet, og derefter på din telefon vil du se en prompt, der beder dig om at give din computer ADB-adgang. Accepter det. Nu når du kommer ind adb devices
i kommandoprompten, bør du se din enheds serienummer, hvis ja, så lykkedes det.
Giver WRITE_SECURE_SETTINGS til SecureTask
Når en ADB-kommandoprompt er åben, skal du indtaste følgende kommando for at give SecureTask den nødvendige tilladelse.
adbshellpmgrantcom.balda.securetaskandroid.permission.WRITE_SECURE_SETTINGS
SecureTask vil nu have mulighed for at ændre systemindstillinger uden root-adgang! Nu er vi klar til at gå videre til Tasker.
Opsætning af Tasker-profilen
Åbn Tasker og opret en ny profil ved at trykke på + knappen. Navngiv det Tastaturmarkører og vælg Begivenhed Sammenhæng. Gå til Plugin --> AutoInput --> UI-handling. For handlingstyper skal du vælge Inputelement fokuseret og Inputelementets fokus mistet. Lad elementteksten være tom. Tilføjelse af denne AutoInput-kontekst vil starte AutoInputs skærmtjeneste for at registrere, hvornår en tekstinput felt vinder eller mister fokus og gemmer det i en variabel som en boolsk (sand/falsk) værdi, som vi kan Læs.
Når du er færdig med at lave profilen, vil Tasker bede dig om at tilføje en opgave. Vælg at oprette en ny opgave, men gider ikke give den et navn. Når du er på skærmen Opgaveredigering, skal du tilføje følgende handlinger:
- A1: Opgave --> Hvis. Indstil den til hvis %aifocus ~ sand. Dette vil være vores betingelse for, når AutoInput registrerer, at et tekstindtastningsfelt er i fokus. De næste to handlinger vil indstille nav-bjælken til tasterne DPAD_LEFT og DPAD_RIGHT.
-
A2: Plugin --> SecureTask --> Secure Settings. Handling: Skrive. Indstilling:
secure sysui_nav_bar_left
. Værdi:key(21:com.android/systemui/2131230907)
. -
A3: Plugin --> SecureTask --> Secure Settings. Handling: Skrive. Indstilling:
secure sysui_nav_bar_right
. Værdi:key(22:com.android/systemui/2131231004)
. - A4: Opgave --> Andet. Dette er, når %aifocus er indstillet til falsk, for ord har tekstindtastningsfeltet mistet fokus. Vi vil derefter rydde nav-bar-tasterne.
-
A5: Plugin --> SecureTask --> Secure Settings. Handling: Skrive. Indstilling:
secure sysui_nav_bar_left
. Værdi:null
. -
A6: Plugin --> SecureTask --> Secure Settings. Handling: Skrive. Indstilling:
secure sysui_nav_bar_right
. Værdi:null
. - A7: Opgave --> Afslut hvis.
Du er færdig med dette Tasker-script. Nu, når som helst AutoInput registrerer et tekstindtastningsfelt i fokus (som korrelerer med, hvornår dit tastatur er vises), vil du se to nye nav-bjælkemarkørtaster, der forsvinder, når tekstindtastningsfeltet ikke længere er i fokus.
Download og import
Som med alle Tasker-relaterede selvstudier, vil vi levere den XML-fil, du kan downloade og importere. Download .prf.xml-filen fra AndroidFileHost nedenfor, og gem den på dit interne lager. Åbn Tasker, og tryk længe på fanen Profiler øverst, indtil du ser en Importer-knap. Tryk på det og se efter den XML-fil, du lige har gemt, og vælg den for at importere den. Sørg for, at du har AutoInputs tilgængelighedstjeneste aktiveret og har givet den WRITE_SECURE_SETTINGS til SecureTask som nævnt i min artikel, ellers duer denne profil ikke hvad som helst på din telefon!
Download "Tastaturmarkører"-profilen fra AndroidFileHost
Hvis du undrer dig over, hvilke andre nyttige taster vi kan tilføje til navigationslinjen for at gøre Android O til en mere behagelig oplevelse, viser vi dig en alternativ opsætning i en fremtidig tutorial.