Hur man aktiverar navigeringsfältskontroller för mediauppspelning i Android O medan du aktivt spelar upp musik. Använder Tasker, SecureTask och Notification Listener.
Android O Developer Preview har bara varit ute i en vecka, men vi upptäcker snabbt fler och fler potentiella användningsområden för alla de nya funktionerna. En av de funktioner vi har varit mest exalterade över är den nya navigeringsfältsanpassare finns i System UI Tuner.
Vid den första inspektionen verkar Googles implementering ganska barbent. Även om du kan lägga till en ny navigeringsknapp till vänster och höger om dina befintliga nycklar, kommer alla tangenter du lägger till permanent placerade i navigeringsfältet. Tyvärr gör det den här funktionen värdelös för många människor, eftersom många av nycklarna du vill ha på navigeringsfältet bara fungerar under specifika omständigheter. Men som vi har visat dig tidigare är det faktiskt möjligt att aktivera specifika navigeringsknappar under dina egna anpassningsbara förhållanden
. I den här handledningen visar vi hur du gör aktivera kontrollknappar för mediauppspelning i navigeringsfältet när Google Play Musik eller någon annan musikapp spelar upp musik.Tack Eli Irvin för att du testade detta för mig och för att fånga den här skärminspelningen!
Krav:
- Tasker ($2.99)
- SecureTask
- Aviseringslyssnare
Tasker är nödvändigt eftersom det är automationsappen vi använder för att upptäcka vilken applikation vi är i och skicka kommandon via SecureTask-plugin-programmet, vilket är det som kommer att hantera att ändra vår navigering bar. När du har installerat dessa applikationer måste vi konfigurera dem.
För att upptäcka när musik spelas måste vi aktivera Notification Access för Notification Listener-plugin. Det går väldigt snabbt att göra det, gå helt enkelt till Inställningar och sök efter "aviseringsåtkomst" i sökfältet. Öppna inställningssidan, leta efter Notification Listener och ge den åtkomst att läsa aviseringar.
Därefter måste vi ge SecureTask möjligheten att ändra systeminställningar på vår enhet. För att göra det måste vi ge SecureTask en särskild behörighet känd som WRITE_SECURE_SETTINGS som är normalt otillgänglig för vanliga applikationer, men kan beviljas manuellt av en användare genom användning av ADB. Därför måste du ha ADB igång på din maskin för att få detta att fungera. Lyckligtvis är att bevilja detta tillstånd en engångssak, och vi kommer att använda SecureTask i framtida Android O-relaterade handledningar, så jag rekommenderar definitivt att du gör detta nu. Om du har följt mina tidigare tutorials där jag sa åt dig att installera AutoTools, är SecureTask mindre funktionsfylld men den har precis tillräckligt för våra behov här.
Konfigurera ADB
Det första du behöver göra är att ladda ner ADB-binären för just ditt operativsystem. Det kan du göra här. När du har laddat ner dem måste du se till att du har rätt förare om du använder Windows.
När du har extraherat binären till en separat mapp och har installerat drivrutinen måste vi nästa aktivera USB-felsökning på smarttelefonen. För att göra det, öppna Inställningar och gå till Om telefonen. Tryck på Byggnummer 7 gånger tills du får en dialogruta som talar om att du har låst upp utvecklaralternativ. Du kan komma åt utvecklaralternativ i Inställningar nu. Tydligen i Android O måste du ange din pinkod/lösenord innan du kan öppna utvecklaralternativ. Gör det och leta efter USB Debugging och aktivera det sedan.
Anslut nu din telefon och öppna en kommandotolk i samma katalog där du extraherade ADB-binären. (Windows-användare, håll ned skift+högerklicka i den mappen och välj "öppna kommandotolken här.") Skriv adb devices
i kommandotolken. Du kommer att se ett meddelande om att ADB-servern startas, och sedan på din telefon kommer du att se en uppmaning som ber dig att ge din dator ADB-åtkomst. Acceptera den. Nu när du går in adb devices
i kommandotolken bör du se enhetens serienummer, i så fall lyckades du.
Beviljar WRITE_SECURE_SETTINGS till SecureTask
Med en ADB-kommandotolk öppen, skriv in följande kommando för att ge SecureTask den nödvändiga behörigheten.
adbshellpmgrantcom.balda.securetaskandroid.permission.WRITE_SECURE_SETTINGS
SecureTask kommer nu att ha möjlighet att ändra systeminställningar utan root-åtkomst! Nu är vi redo att gå vidare till Tasker.
Konfigurera Tasker-profilerna
Vi kommer att skapa två separata Tasker-profiler här. En som reagerar på när vår favoritmusikspelare (i mitt exempel, Google Play Musik) startar musikuppspelning (dess avisering har lagts upp), och en som reagerar på när samma musikspelares avisering har varit avskedats.
Öppna Tasker och skapa en ny profil genom att trycka på +-ikonen längst ner till höger. Vi börjar med att skapa en profil som utlöses när musikspelarens avisering har publicerats. Namnge profilen "Enable Media Nav Keys" och välj en händelsekontext. Gå till Plugin --> Notification Listener --> Notification Listener. För meddelandehändelse, välj Postad och under Appar väljer du de applikationer som du vill övervaka (t.ex. Google Play Musik).
När du är klar, backa ut och Tasker kommer att be dig att bifoga en uppgift till den här profilen. Du kan namnge uppgiften, men det är inte nödvändigt. Klicka bara på bockmarkeringen för att komma in på skärmen för uppgiftsredigering. När du väl är inne kommer vi att lägga till två åtgärder till den här uppgiften.
- A1: Plugin --> SecureTask --> Säkra inställningar. Handling: Skriva. Miljö:
secure sysui_nav_bar_left
. Värde:key(88:com.android.systemui/2131230907)
. Detta är KEYCODE_MEDIA_PREVIOUS och kommer att visas som en vänsterpil i navigeringsfältet. - A2: Plugin --> SecureTask --> Säkra inställningar. Handling: Skriva. Miljö:
secure sysui_nav_bar_right
. Värde:key(87:com.android.systemui/2131231004)
. Det här är KEYCODE_MEDIA_NEXT och kommer att visas som en högerpil i navigeringsfältet.
Därefter skapar vi den andra profilen som utlöses när musikappens avisering avvisas. Den här profilen blir av med mediekontrollnycklarna när meddelandet har avvisats. Skapa en ny profil och namnge den "Inaktivera Media Nav Keys." Återigen skapa en händelsekontext och välj insticksprogrammet Notification Listener. Den här gången väljer du för meddelandehändelse Tog bort men återigen välj samma musikapp som du vill övervaka.
Lägg till en uppgift igen (utan ett namn är bra) och skapa följande två åtgärder:
- A1: Plugin --> SecureTask --> Säkra inställningar. Handling: Skriva. Miljö:
secure sysui_nav_bar_left
. Värde:null
. - A2: Plugin --> SecureTask --> Säkra inställningar. Handling: Skriva. Miljö:
secure sysui_nav_bar_right
. Värde:null
.
Dessa två åtgärder rensar dina navigeringsfältsknappar så att kontrolltangenterna för mediauppspelning inte längre finns där.
Det är allt! Nu när du startar musikuppspelning kommer du att se ytterligare knappar i navigeringsfältet för att styra media, men när du avvisar din musikspelares avisering försvinner dessa knappar.
Ladda ner och importera
Som med alla Tasker-relaterade handledningar kommer vi att tillhandahålla XML-filerna som du kan ladda ner och importera. Ladda ner prf.xml-filerna från AndroidFileHost nedan och spara dem på ditt interna minne. Öppna Tasker och tryck länge på fliken Profiler upptill tills du ser en Importera-knapp. Klicka på det och leta efter XML-filerna du just sparade, välj sedan dem för att importera dem (du måste göra detta en efter en). Se till att du har beviljat Notification Access till Notification Listener aktiverat och har beviljat WRITE_SECURE_SETTINGS behörighet att SecureTask som nämnts i min artikel, annars fungerar inte dessa profiler vad som helst på din telefon!
Ladda ner profilen "Enable Media Nav Keys" från AndroidFileHost
Ladda ner profilen "Inaktivera Media Nav Keys" från AndroidFileHost
Om du undrar vad mer vi kan åstadkomma med SecureTask och Android O, håll utkik på XDA-portalen eftersom vi har mycket mer att dela med sig av. Förvänta dig fler handledningar om hur du kan få din navigeringsfält i Android O att utföra många användbara funktioner!