De aanpassing van de navigatiebalk van Android O was eigenlijk altijd al verborgen in Android Nougat. Nou, dat wisten we allemaal, maar het bleek dat het nooit root nodig had!
Handopsteking hier: hoeveel van jullie rennen daadwerkelijk als eerste Preview voor Android O-ontwikkelaars? De Developer Preview is niet alleen alleen beschikbaar op een handvol Google-apparaten, maar is ook echt niet geschikt als dagelijkse driver. Het was natuurlijk nooit bedoeld om door de gemiddelde gebruiker te worden gebruikt, maar eerder als een proeftuin voor ontwikkelaars om er zeker van te zijn dat hun applicaties zullen werken wanneer Android O officieel wordt uitgebracht. Dat betekent echter niet dat we niet wat plezier voor onszelf kunnen hebben en een kijkje kunnen nemen in wat erin zit. Een van de meest opwindende functies voor Android O-apparaten is de aanpassing van de navigatiebalk bevindt zich in Systeem UI Tuner. Maar wat als we je vertelden dat deze geweldige aanpassing van de navigatiebalk niet alleen beschikbaar is voor gebruikers van de Android O Developer Preview? Dat klopt, deze functie eigenlijk
werkt al op Android 7.X Nougat en heeft ook geen root-toegang nodig.Gezichtspalm. Toen ik mijn tutorials over het contextueel aanpassen van de navigatiebalk op Android O was ik ervan uitgegaan dat deze shell-opdrachten die ik verzond alleen op Android O zouden werken. Het blijkt dat dat niet waar is: deze opdrachten werken eigenlijk prima op Android Nougat. Nu, we weten het al bijna 9 maanden dat aanpassing van de navigatiebalk kon worden ingeschakeld in Android Nougat, maar de eerste ontdekking vereiste dat gebruikers dit wel moesten doen wijzig de SystemUI APK naar stel de voorkeur van de navigatiebalktuner bloot. Dit was duidelijk een grote hindernis die voor veel gebruikers moest worden overwonnen, omdat het niet alleen root-toegang vereist, maar ook vereist dat de SystemUI APK voor elke afzonderlijke update wordt gedecompileerd en gepatcht. Maar dat doe je niet eens behoefte om SystemUI aan te passen om deze activiteit van de navigatiebalktuner zichtbaar te maken, kun je de navigatiebalk sowieso handmatig wijzigen via shell-opdrachten!
Waarschuwing: we horen van sommige gebruikers dat het aanpassen van de navigatiebalk niet werkt op de nieuwste bètaversie van Android 7.1.2 op de Google Pixel. Probeer deze opdrachten op eigen risico uit. Voor de veiligheid raad ik aan deze aanpassing uit te proberen met behulp van de app ontwikkeld door paphonb hieronder geplaatst in plaats van ADB-opdrachten. Als het niet werkt met zijn app, probeer dan NIET de ADB-opdrachten!
We kunnen bevestigen dat deze verborgen aanpassing van de navigatiebalk in Android Nougat op de volgende apparaten werkt:
- Google Nexus6
- Google Nexus5X
- Google Nexus6P
- Google Pixel
- Google Pixel XL
- OnePlus 3
- OnePlus 3T
- Sony Xperia-telefoons
De navigatiebalkaanpasser lijkt te werken op elk apparaat of ROM dat de AOSP-implementatie niet heeft verwijderd, dus op de meeste apparaten met standaard of bijna voorraad firmware op basis van Android 7.X Nougat zou het moeten werken.
Het handmatig aanpassen van de navigatiebalk in Android Nougat werkt vrijwel hetzelfde als op Android O. U kunt een ADB-shellopdracht verzenden om de specifieke instelling te wijzigen, of de machtiging WRITE_SECURE_SETTINGS verlenen aan een toepassing zoals Veilige taak of AutoTools zodat ze de instellingen kunnen wijzigen. Veilige voorkeur die de navigatiebalkknoppen bestuurt. Met gebruik van Tasker, kunt u de navigatiebalk ook contextueel wijzigen.
Het toekennen van WRITE_SECURE_SETTINGS aan SecureTask of AutoTools is eenvoudig, omdat u alleen maar een van de volgende ADB-shellopdrachten hoeft in te voeren, waarvoor u niet geroot hoeft te zijn.
Voor SecureTask:
adbshellpmgrantcom.balda.securetaskandroid.permission.WRITE_SECURE_SETTINGS
Voor AutoTools:
adbshellpmgrantcom.joaomgcd.autotoolsandroid.permission.WRITE_SECURE_SETTINGS
De syntaxis voor het wijzigen van de navigatiebalk is dan als volgt:
settings put secure sysui_nav_bar "key(KEYCODE_CONSTANT: file:///path/to/icon.png),back; home; recent, key(KEYCODE_CONSTANT: file:///path/to/icon.png)"
U kunt de toetsindeling opnieuw indelen, spaties aan de linker- of rechterkant toevoegen om de knoppen te verschuiven (typen space
voegt een leeg slot toe aan de navigatiebalk) kies aangepaste pictogrammen, wijzig de sleutelcodes, enz. zoals u wilt door deze syntaxis te volgen. Hier is bijvoorbeeld de opdracht die ik zou gebruiken om a KEYCODE_MENU knop en een KEYCODE_FORWARD knop naar mijn navigatiebalk om mijn Chrome-browse-ervaring te verbeteren:
settings put secure sysui_nav_bar "key(82:file:///storage/emulated/0/NavIcons/menu.png),back; home; recent, key(125:file:///storage/emulated/0/NavIcons/forward.png)"
De pictogrampaden waarnaar de opdracht verwijst, zijn aangepaste pictogrammen waarvan ik heb gedownload PictogrammenDB. Ik heb de juiste pictogramgrootte verkregen door de weergavedichtheid van mijn apparaat op te zoeken Materiaal.io en vervolgens die dichtheid correleren met de juiste pictogramgrootte met behulp van een referentiediagram.
Als ik mijn navigatiebalk terug wil zetten naar de standaardindeling, zou ik deze opdracht invoeren:
settings put secure sysui_nav_bar "space, back; home; recent, space"
Als je mijn Android O-tutorials hebt gevolgd, zal deze syntaxis je bekend voorkomen. Zo niet, maak je dan geen zorgen. Daar is een app voor.
Aangepaste navigatiebalk
XDA Senior-lid paphonb heeft een applicatie ontwikkeld genaamd Aangepaste navigatiebalk dat al het voorwerk voor u doet en de navigatiebalkknoppen verandert. De app is heel gemakkelijk te gebruiken omdat deze is gebaseerd op de navigatiebalkaanpasser van Android O. De app is echter zo gecodeerd dat u aangepaste pictogrammen kunt gebruiken (net als in mijn tutorial), omvat de mogelijkheid om profielen aan te maken waar u snel tussen kunt schakelen, en heeft dat bovendien Tasker-ondersteuning, zodat u de navigatiebalk contextueel kunt wijzigen op basis van uw criteria wil.
Het enige wat u hoeft te doen is de app installeren en deze vervolgens WRITE_SECURE_SETTINGS toestemming verlenen door de volgende opdracht uit te voeren in ADB:
adbshellpmgrantxyz.paphonb.systemuitunerandroid.permission.WRITE_SECURE_SETTINGS
Wanneer u vervolgens de app opent, bepaalt de app of uw apparaat het wijzigen van de navigatiebalk wel of niet ondersteunt. Er wordt geprobeerd een "volgende" toets in het midden van uw navigatiebalk weer te geven. Als het verschijnt, kunt u uw navigatiebalk aanpassen. Als dat niet het geval is, zal de app je vertellen dat je pech hebt.
De applicatie is vrij maar u moet wel een pro-versie aanschaffen als u meer dan twee profielen wilt maken. Deze applicatie maakt het zeker gemakkelijker om je navigatiebalk aan te passen, dus ik denk persoonlijk dat de prijs de moeite waard is, maar als u de knowhow heeft, kunt u alle functies uitvoeren die deze app biedt via Tasker en SecureTask/AutoTools.
Maatwerkmogelijkheden
Er zijn veel dingen die je kunt doen met deze app + Tasker. Ik heb veel van dergelijke gevallen geschetst in mijn bijlessen, maar hier is een korte lijst met enkele dingen die u kunt proberen:
- Toon bedieningselementen voor het afspelen van media tijdens het afspelen van muziek
- Toon de vooruit/terug-toets in Gmail om snel door e-mails te bladeren
- Bladertoetsen pagina omhoog/omlaag weergeven bij gebruik van Chrome
- Toon links/rechts-cursors wanneer het toetsenbord zichtbaar is
- Toon een menu/vooruitknop bij gebruik van Chrome
- Toon een snelkoppeling voor contacten en een knop voor het beëindigen van een gesprek tijdens een telefoongesprek
Dat is wat ik bedacht toen ik aan het spelen was met de navigatiebalktuner in Android O, maar ze zouden allemaal hetzelfde moeten werken met de verborgen navigatiebalktuner in Android Nougat.
Ik ben absoluut verbaasd dat het zo lang duurde voordat iemand erachter kwam dat deze navigatiebalktuner zonder root in Android Nougat werkt. Als ik hierop terugdenk, is het volkomen logisch dat het zonder root werkt. De SystemUI-mod geeft immers alleen het voorkeurenfragment weer om de activiteit van de navigatiebalktuner te starten. Het is niet zo dat de mod de functie daadwerkelijk aan SystemUI toevoegt - deze was er altijd al. Met de shell-opdrachten kunnen we de navigatiebalk wijzigen zonder deze SystemUI-activiteit bloot te leggen, en de app van paphonb maakt dit allemaal eenvoudiger.
Hoe wilt u uw navigatiebalk aanpassen? Laat het ons weten in de reacties hieronder!