Персонализирането на навигационната лента беше скрито в Stock Nougat през цялото време... и никога не се нуждаеше от Root

Персонализирането на навигационната лента на Android O всъщност беше скрито през цялото време в Android Nougat. Е, всички знаехме това, но се оказа, че никога не е имал нужда от root!

Тук вдигнете ръка: колко от вас всъщност бягат първи Визуализация за разработчици на Android O? Не само, че Developer Preview е достъпен само за няколко устройства на Google, но наистина не е подходящ като ежедневен драйвер. Разбира се, той никога не е бил предназначен да се използва от средния потребител, а по-скоро като тестово поле за разработчиците, за да гарантират, че техните приложения ще работят, когато Android O бъде официално пуснат. Това обаче не означава, че не можем да се забавляваме сами и да разгледаме какво има вътре. Една от най-вълнуващите функции, идващи в устройствата с Android O, е персонализиране на навигационната лента намиращ се в System UI Tuner. Но какво ще стане, ако ви кажем, че тази страхотна персонализация на лентата за навигация не е достъпна само за потребителите на Android O Developer Preview? Точно така, тази функция всъщност

вече работи на Android 7.X Nougat и също не се нуждае от root достъп.

Длан на лицето. Когато написах моя уроци за контекстно модифициране на лентата за навигация на Android O предположих, че тези команди на обвивката, които изпращах, ще работят само на Android O. Оказва се, че това не е вярно - тези команди всъщност работят добре на Android Nougat. Сега, познаваме се от близо 9 месеца че персонализирането на лентата за навигация може да бъде активирано в Android Nougat, но първоначалното откритие изискваше от потребителите модифицирайте SystemUI APK да се изложете предпочитанието за тунер на навигационната лента. Това очевидно беше основно препятствие за преодоляване за много потребители, тъй като не само изисква root достъп, но също така изисква SystemUI APK да бъде декомпилиран и коригиран за всяка отделна актуализация. Вие обаче дори не го правите трябва за да промените SystemUI, за да изложите тази активност на тунера на лентата за навигация, можете така или иначе да промените лентата за навигация ръчно чрез команди на обвивката!

Предупреждение: чуваме от някои потребители, че персонализирането на лентата за навигация не работи на най-новата бета версия на Android 7.1.2 на Google Pixel. Изпробвайте тези команди на свой собствен риск. За безопасност препоръчвам да изпробвате тази персонализация с помощта на приложението, разработено от paphonb публикувани по-долу, а не ADB команди. Ако не работи с неговото приложение, тогава НЕ опитвайте ADB командите!

Можем да потвърдим, че тази скрита персонализация на навигационната лента в Android Nougat работи на следните устройства:

  • Google Nexus 6
  • Google Nexus 5X
  • Google Nexus 6P
  • Google Pixel
  • Google Pixel XL
  • OnePlus 3
  • OnePlus 3T
  • Телефони Sony Xperia

Персонализаторът на навигационната лента изглежда работи на всяко устройство или ROM, които не са премахнали внедряването на AOSP, така че повечето устройства, които имат наличен или близък до наличен фърмуер, базиран на Android 7.X Nougat, трябва да работят.


Ръчното модифициране на лентата за навигация в Android Nougat работи много подобно на начина, по който работи в Android O. Можете или да изпратите команда на ADB shell, за да промените конкретната настройка, или да предоставите разрешение WRITE_SECURE_SETTINGS на приложение, като например SecureTask или AutoTools така че те могат да контролират промяната на настройките. Сигурно предпочитание, което контролира бутоните на лентата за навигация. С използването на Tasker, можете да промените контекстуално и лентата за навигация.

Предоставянето на WRITE_SECURE_SETTINGS на SecureTask или AutoTools е лесно, тъй като всичко, което трябва да направите, е да въведете някоя от следните команди на ADB shell, което не изисква да сте руутнати.

За SecureTask:

adbshellpmgrantcom.balda.securetaskandroid.permission.WRITE_SECURE_SETTINGS

За AutoTools:

adbshellpmgrantcom.joaomgcd.autotoolsandroid.permission.WRITE_SECURE_SETTINGS

Тогава синтаксисът за промяна на навигационната лента е както следва:

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)"

Можете да пренаредите оформлението на клавишите, да добавите интервали отляво или отдясно, за да преместите бутоните (набиране space ще добави празен слот към лентата за навигация) изберете персонализирани икони, променете кодовете на клавишите и т.н. както желаете, като следвате този синтаксис. Например, ето командата, която бих използвал, за да добавя a KEYCODE_MENU бутон и a KEYCODE_FORWARD бутон към лентата за навигация, за да подобря изживяването си при сърфиране в Chrome:

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)"

Пътищата на иконите, които командата препраща, са персонализирани икони, от които съм изтеглил ИкониDB. Получих правилния размер на иконата, като потърсих плътността на дисплея на моето устройство Material.io след това съпоставяне на тази плътност с подходящ размер на иконата с помощта на референтна диаграма.

Ако искам да върна навигационната си лента обратно към оформлението по подразбиране, бих въвел тази команда:

settings put secure sysui_nav_bar "space, back; home; recent, space"

Ако сте били в крак с моите уроци за Android O, тогава този синтаксис ще ви се стори познат. Ако не, тогава не се притеснявайте. Има приложение за това.


Персонализирана лента за навигация

Старши член на XDA paphonb разработи приложение, наречено Персонализирана лента за навигация който върши цялата работа вместо вас и променя бутоните на лентата за навигация. Приложението е много лесно за използване, тъй като е базирано на инструмента за персонализиране на навигационната лента на Android O. Приложението обаче е кодирано, за да ви позволи да използвате персонализирани икони (много като в моя урок), включва възможност за създаване на профили, между които можете бързо да превключвате, и освен това има Поддръжка на Tasker, така че можете да променяте контекстно лентата за навигация въз основа на каквито и да е критерии искам.

Всичко, което трябва да направите, е да инсталирате приложението, след което да му предоставите разрешение WRITE_SECURE_SETTINGS, като издадете следната команда в ADB:

adbshellpmgrantxyz.paphonb.systemuitunerandroid.permission.WRITE_SECURE_SETTINGS

След това, когато отворите приложението, приложението ще определи дали вашето устройство поддържа или не модифициране на лентата за навигация. Той ще се опита да представи клавиш "следващ", центриран във вашата навигационна лента. Ако се появи, тогава можете да промените навигационната си лента. Ако не, приложението ще ви каже, че нямате късмет.

Приложението е Безплатно но изисква да закупите професионална версия, ако искате да създадете повече от 2 профила. Това приложение със сигурност улеснява модифицирането на навигационната ви лента, така че аз лично смятам, че цената си заслужава, но ако имате ноу-хау, можете да изпълнявате всички функции, които това приложение предлага чрез Tasker и SecureTask/AutoTools.


Възможности за персонализиране

Има много неща, които можете да правите с това приложение + Tasker. Очертал съм много такива случаи в моите уроци, но ето кратък списък с някои неща, които можете да опитате:

  • Показване на контроли за възпроизвеждане на мултимедия при възпроизвеждане на музика
  • Показване на клавиша за напред/назад, когато сте в Gmail, за бързо преминаване през имейлите
  • Показване на клавишите за превъртане нагоре/надолу, когато използвате Chrome
  • Показване на леви/десни курсори, когато се показва клавиатурата
  • Показване на бутон за меню/напред, когато използвате Chrome
  • Показване на пряк път за контакти и бутон за край на разговор по време на телефонен разговор

Това е, което измислих, когато си играех с тунера на навигационната лента в Android O, но те трябва да работят по същия начин със скрития тунер на навигационната лента в Android Nougat.

Абсолютно съм изумен, че отне толкова време на някой да разбере, че този тунер на навигационната лента работи в Android Nougat без root. Като се замислим за това, напълно логично е, че работи без root. В края на краищата, модулът SystemUI излага само фрагмента на предпочитанията, за да стартира активността на тунера на навигационната лента, не е като този мод всъщност да добавя функцията към SystemUI - винаги е бил там. Командите на обвивката просто ни позволяват да променим лентата за навигация, без да излагаме тази активност на SystemUI, а приложението на paphonb просто прави всичко това по-лесно.


Как бихте искали да персонализирате навигационната си лента? Кажете ни в коментарите по-долу!