En vejledning om, hvordan man viser en skifte for at aktivere billed-i-billede-tilstand på en per-app-basis i Android O ved hjælp af Tasker og SecureTask.
I vores sidste artikel var vi de første til at vise dig, hvordan du kan bruge Android O's nye billed-i-billede-tilstand (PiP) lige nu på din smartphone. For at opsummere involverer metoden at sende en bestemt nøgle kendt som KEYCODE_WINDOW, som er defineret af konstanten 171. Denne nøglekode sendes nemmest ved at aktivere skjult navigationslinjetilpasning i SystemUI Tuner og derefter tilføje et nyt navigationslinjeelement, som udløser nøglekoden.
Men at gøre denne metode betyder, at du har et permanent ikon i din navigationslinje for at skifte billede-i-billede-tilstand, selv når det ikke er relevant. PiP virker kun på visse applikationer, nemlig apps, der kan vise videoindhold i fuld skærm, så det giver ikke mening, at der skal være en knap til at skifte til i alle apps. I slutningen af artiklen erklærede vi, at vi ville vise dig, hvordan du viser billed-i-billede-tilstand pr. app. Her er hvordan det gøres.
Vis billede-i-billede-skift på en pr-app basis
Krav:
- Tasker ($2.99)
- SecureTask
Tasker er nødvendig, fordi det er automatiseringsappen, vi bruger til at registrere, hvilken applikation vi er i og send kommandoer gennem SecureTask-plugin'et, som er det, der vil håndtere at ændre vores navigation bar. Når du har installeret begge programmer, skal vi konfigurere dem begge.
For at Tasker kan opdage, hvilken applikation vi er i, skal vi tildele dens tilgængelighedstjeneste. Det er meget hurtigt, gå blot til Indstillinger --> Tilgængelighed og se efter "Tasker" 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 en engangssag at give denne tilladelse, og vi vil bruge SecureTask i fremtidige Android O-relaterede tutorials, så jeg anbefaler dig bestemt at gøre dette nu. Hvis du har fulgt mine tidligere tutorials, hvor jeg fortalte dig at installere AutoTools, er SecureTask mindre fyldt med funktioner, men det har lige nok til vores behov her.
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. Navngiv det "Skift billede-i-billede". Vælg Ansøgning kontekst, og se efter den videoapp, du vil aktivere navigationslinjetasten i (f.eks. Youtube). Vælg de apps, du ønsker, og gå derefter tilbage for at oprette en opgave næste gang.
Tasker vil bede dig om at vedhæfte en opgave til denne nye profil. Opret en ny opgave, når du bliver bedt om det, og navngiv den (eller lad være). Når du er på skærmbilledet Opgaveoprettelse, skal du tilføje en ny handling ved at gå til Plugin --> SecureTask --> Secure Settings. Tryk på blyantikonet for at åbne SecureTask-konfigurationen.
Vælg under Handling Skrive. Indsæt under Indstilling secure sysui_nav_bar_right
. Sæt under værdien key(171:com.android.systemui/2131230944)
. Afslut til Tasker's hovedmenu. Tilføj en exit-opgave til denne profil ved at trykke længe på den nye opgave, vi lige har oprettet, og derefter vælge "tilføj exit-opgave". Gentag ovenstående handling, men denne gang for værdien sættes null.
Det er det! Når du går ind i YouTube-appen (eller hvilken anden app, du vælger), vil du nu se et ikon, der popper op i højre side af din navigationslinje, så du kan skifte billede-i-billede-tilstand.
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 aktiveret Tasker's Accessibility Service og har givet WRITE_SECURE_SETTINGS tilladelse til SecureTask som nævnt i min artikel, ellers vil denne profil ikke gøre noget på din telefon!
Download "Toggle Picture-in-Picture"-profilen fra AndroidFileHost
Hvis du undrer dig over, hvad vi ellers kan opnå med SecureTask og Android O, så følg med på XDA-portalen, fordi vi har meget at dele. Forvent flere tutorials om, hvordan du kan få din navigationslinje i Android O til at udføre mange nyttige funktioner!