En handledning om hur du lägger till en anpassad knapp i navigeringsfältet på Samsung Galaxy S8 eller Samsung Galaxy S8+. Kräver inte root-åtkomst.
Samsungs Galaxy S8 och Galaxy S8+ är två av de hetaste smarttelefonerna på marknaden, mycket tack vare de stora framsteg som Samsung tagit med sin skärmteknik. Eftersom Samsung hade som mål att minska ramarna så mycket som möjligt med sina nya flaggskeppsenheter, har företaget äntligen blivit av med de kapacitiva nycklar som en gång var häftklamrar i Samsungs hårdvara. I dess ställe finns navigeringsnycklar för programvara, som kan modifieras i viss utsträckning inom Samsung Experience UI.
Som vanligt är dock lagerimplementeringen av navbar-tunern ganska bristfällig i dess anpassningsbarhet. De flesta av anpassningarna är centrerade kring hemknappen - du kan ändra känsligheten och om den direkt låser upp telefonen eller inte. Även om det finns ett alternativ för att ändra knapplayouten, är den enda layouten du kan byta till en inverterad layout där baksidan och senaste tangenten vänds.
Vi på XDA-Developers ser alltid bortom vad tillverkaren erbjuder för att hitta fler sätt att anpassa din telefon. Det är därför vi idag introducerar en metod för att lägg till ytterligare knappar i navigeringsfältet på Samsung Galaxy S8 och S8+.
Om du har följt XDA-portalen (som du borde vara), kanske du har sett mitt inlägg förra månaden om hur anpassning av navigeringsfältet kan utföras i Android 7.X enheter utan att kräva systemgränssnittsmods, anpassade ROM eller root-åtkomst av något slag. Metoden innebär att direkt ändra inställningarna som är ansvariga för att justera navigeringsfältet, även om det grafiska användargränssnittet för att ändra navigeringsfältet har dolts för användaren. Detta beror på att koden som utgör den dolda navbar-tunern har funnits i Android Open Source Project (AOSP) förråd sedan Android Nougat, men det var det inte tills Android O att Google avslöjade denna aktivitet under System UI Tuner. Men så länge som programvaran som levereras på din enhet som kör Android Nougat inte tog bort koden bakom navigeringsfältet helt, är det möjligt att använda den här funktionen utan att vänta.
Att ändra navigeringsfältet innebär att man skickar skalkommandon antingen via ADB eller en app som har beviljats behörigheten WRITE_SECURE_SETTINGS. På grund av det faktum att bråk med ADB är något många inte känner till, XDA Senior Member pafonb utvecklat en app som heter Anpassad navigeringsfält för att göra allt lättare för dig.
När tusentals människor började testa hans app började många användare på Galaxy S8 och Galaxy S8+ stöta på frekventa kraschar i systemgränssnittet när de försökte använda appen. Vi alltså antas att det var omöjligt att ändra navigeringsfältet utöver Samsungs implementering – men det antagandet har sedan dess befunnits vara fel. Så här gör du just det.
Lägga till anpassade knappar i navigeringsfältet på Galaxy S8 eller S8+
Efter några inledande tester upptäckte vi att samma skalkommandon som vi var skicka in min ursprungliga handledning fungerar även på Galaxy S8 och S8+, men med en stor varning. De ursprungliga knapparna för baksida, hem, senaste och IME-växling MÅSTE vara närvarande oavsett vilken layout du använder. Om någon av dessa nycklar saknas kommer systemgränssnittet att börja krascha upprepade gånger. Dessutom kommer alla tangenter som du lägger till i navigeringsfältet att se lite konstiga ut när Samsungs navigeringsfält ändrar automatiskt färger till en vit bakgrund, men jag undersöker sätt att kringgå denna mindre besvär.
Hur som helst, låt oss dyka in i de kommandon du behöver lära dig för att ändra navigeringsfältet på din Samsung Galaxy-enhet. Det första du behöver göra är att ställa in ADB på din dator.
Konfigurera ADB
Först, ladda ner ADB-binären direkt från Google för just ditt operativsystem och extrahera det till en separat katalog på din dator. Nästa, installera rätt drivrutin för din Samsung-telefon. Aktivera sedan "USB Debugging" i Inställningar --> Utvecklaralternativ. Om du inte ser Utvecklaralternativ måste du aktivera det genom att gå till Inställningar --> Om telefon och sedan trycka på Byggnummer 7 gånger. Slutligen, se till att ADB fungerar genom att starta en kommandotolk i samma katalog som ADB-binären (håll ned shift + högerklicka --> "öppna kommandotolken här") och kör följande kommando:
adb devices
Om du ser enhetens serienummer (och det står inte obehörigt) är du gyllene. Om du ser ett popup-fönster på din telefon som ber dig att ge din dator ADB-åtkomst, säg ja. Om du inte ser någondera hända, försök sedan starta om din dator/telefon och koppla in den till din dator igen. Annars, försök att installera om drivrutinen.
Ändra navigeringsfältet - ADB-metod
Syntaxen för att ändra navigeringsfältet är följande:
settings put secure sysui_nav_bar "key(KEYCODE_CONSTANT: file:///path/to/icon.png),back; home; recent, menu_ime"
där KEYCODE_CONSTANT refererar till konstanten för a KeyEvent och ikonsökvägen är filen URI som låter dig ange en anpassad ikon att lägga till i navigeringsfältet. Jag har upptäckt att ikoner i storleken 64x64 fungerar ganska bra för våra syften. Du kan ladda ner många gratis ikoner från IkonerDB hemsida.
Som ett exempel, kommandot jag skickade för att lägga till en navigeringsknapp som startar Gmail-appen är detta:
settings put secure sysui_nav_bar "key(65:file:///storage/emulated/0/NavIcons/gmail.png),back; home; recent, menu_ime"
Eftersom vi absolut måste ha back, home, recent och menu_ime någonstans i kommandot, betyder det att vi tyvärr inte kan ersätta dessa lagernycklar så att vi kan använda våra egna anpassade navigeringsfältsikoner. Men vi kan åtminstone leka med avståndet för att kunna passa in fler anpassade nycklar eller för att bara få den layout vi skulle föredra. Till exempel:
settingsputsecuresysui_nav_bar "space[#],back[#];home[#];recent[#],menu_ime[#]"
Värdet inom parentes är en relativ storleksmultiplikator som gör att du kan krympa eller utöka knappens bredd. Observera att typiska värden för den relativa storleksmultiplikatorn bör ligga mellan 0,85-1,15, annars kommer knappar att börja ta upp alldeles för lite eller för mycket bredd för att verkligen vara användbara. Försök inte att sätta "0" för den relativa storleken i ett försök att dölja navigeringsfältet - du kommer bara att krascha systemgränssnittet.
Om du bråkar med något och slutar med att systemgränssnittet kraschar, kan du återgå till standardlayouten för navigeringsfältet genom att ange något av följande två kommandon:
settings put secure sysui_nav_bar "space, back; home; recent, menu_ime"
settings delete secure sysui_nav_bar
Som en påminnelse om några av de galna sakerna du kan göra med den dolda Android Nougat nav-bar-tunern, här är en skärmdump av en nav-bar-layout som en av våra läsare gjorde för att fnissa.
Ändra navigeringsfältet - appmetod
Jag är säker på att det här är den del som de flesta av er verkligen är intresserade av. Seniormedlem i XDA pafonbs Anpassad navigeringsfält app skulle göra allt detta enklare. Utvecklaren kom nyligen på hur man avlyssnar vissa KeyEvents som anropar vissa appar - det finns upp till 5 KeyEvents som han kom på hur man kunde fånga upp totalt. Den exakta förklaringen av hur han fick detta att fungera är inte nödvändig här, så vi går inte in på mer i detalj. Med det i åtanke kunde utvecklaren uppdatera appen (från och med version 0.5.0) så att du kan utför i princip vad du vill.
Till exempel lade utvecklaren nyligen till möjligheten att lägga till en åtgärd som drar ner statusfältet, starta en app som du väljer direkt, och viktigast av allt att trigga en Tasker-evenemang. Speciellt Tasker-händelsefunktionen är den mest fantastiska delen, för genom Tasker är mängden åtgärder du kan utföra obegränsad. Om du vill att din navigeringsknapp ska göra något kan den göra det. Kombinera detta med den redan befintliga Tasker Profile-integrationen, och du kan kontextuellt ändra navigeringsfältet på din enhet för att lägga till vissa nycklar endast under villkor som du väljer.
För att kunna använda dessa speciella funktioner i appen måste du dela ut $1,99 för att uppgradera till proversionen av appen. För närvarande, för att använda appen på din Samsung Galaxy S8/S8+, måste du ha den senaste betaversionen (0.7.0). Appen upptäcker automatiskt om du använder en Galaxy S8/S8+ och inaktiverar vissa funktioner som gör att din enhet börjar krascha.
Jag har fått höra av utvecklaren att han fortfarande jobbar på att få appen klar för stabil release för användare på dessa Samsung-telefoner. Just nu skulle jag vänta några dagar på att utvecklaren ska uppdatera sin app så du har ett enkelt sätt att ändra navigeringsfältet utan att behöva använda ADB-kommandon. Utvecklaren är snabb med att uppdatera sin app - sedan appen släpptes för mindre än en månad sedan har den redan sett många funktioner.
Slutsats
Om du dock är tillräckligt äventyrlig kan du leka med den dolda navbar-tunern redan genom att använda syntaxen jag har visat tidigare. De flesta kommer förmodligen att vänta på att Custom Navigation Bar-appen ska uppdateras - jag ville bara få ut den här nyheten så att alla våra Galaxy S8/S8+-vänner vet vad de kan förvänta sig. Jag kommer att fortsätta att lägga upp tutorials relaterade till navigeringsfältstunern, med min nästa som fokuserar på hur man lägger till dubbel-/trickklick till navigeringsfältsknapparna.
Vänligen stöd XDA-utvecklare på alla sätt du kan! Vi upptäckte nyligen att det fanns flera bloggar som klippte, kopierade, klistrade in våra ursprungliga handledningar och annat innehåll som delas av våra användare på forumen. Dessa bloggar har försökt ta åt sig äran för den enorma mängd ansträngning vi gör för att sammanställa dessa tutorials snarare än att tillhandahålla kvalitetsinnehåll på egen hand. Du kommer inte att hitta tutorials som de vi har skrivit i vår tutorials kategori eller tutorials från våra forum någon annanstans.
Följ oss på Twitter, Google+, Facebook, eller Youtube. Kolla in vår XDA Labs app för ett snabbt sätt att bläddra i våra forum (och överväg att skaffa XDA annonsfri också!) på din mobila enhet! Tack och håll utkik efter vår nästa handledning!