Налаштування панелі навігації весь час було приховано в Stock Nougat... і воно ніколи не потребувало кореневого доступу

click fraud protection

Налаштування навігаційної панелі Android O насправді були приховані в Android Nougat. Ну, ми всі це знали, але виявилося, що root ніколи не потрібен!

Підніміть руки тут: скільки з вас насправді біжить першим Попередній перегляд розробника Android O? Попередній перегляд для розробників не тільки доступний лише для кількох пристроїв Google, але й справді не підходить як щоденний драйвер. Звичайно, він ніколи не призначений для використання пересічним користувачем, а радше як тестовий стенд для розробників, щоб переконатися, що їхні програми працюватимуть після офіційного випуску Android O. Однак це не означає, що ми не можемо трохи повеселитися і поглянути на те, що всередині. Однією з найцікавіших функцій пристроїв Android O є налаштування панелі навігації знаходиться в System UI Tuner. Але що, якби ми повідомили вам, що ця чудова настройка навігаційної панелі доступна не лише користувачам попереднього перегляду для розробників Android O? Правильно, власне ця функція вже працює на Android 7.X Nougat, і йому також не потрібен root-доступ.

Facepalm. Коли я написав свій навчальні посібники щодо контекстної зміни панелі навігації на Android O я припускав, що ці команди оболонки, які я надсилав, працюватимуть лише на Android O. Виявляється, це неправда – ці команди справді чудово працюють на Android Nougat. тепер, ми знайомі майже 9 місяців що налаштування панелі навігації можна було ввімкнути в Android Nougat, однак початкове відкриття вимагало від користувачів змінити файл APK SystemUI до відобразити налаштування тюнера панелі навігації. Очевидно, це було серйозною перешкодою, яку потрібно було подолати для багатьох користувачів, оскільки для цього не лише потрібен root-доступ, але також потрібно декомпілювати та виправляти APK SystemUI для кожного окремого оновлення. Однак ви навіть не робите потреба щоб змінити 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

Здається, настроювач навігаційної панелі працює на будь-якому пристрої чи ПЗУ, з яких не видалено реалізацію AOSP, тому більшість пристроїв із стандартною або близькою до стандартної прошивкою на основі Android 7.X Nougat має працювати.


Змінення панелі навігації вручну в Android Nougat працює дуже подібно до того, як це працює в Android O. Ви можете надіслати команду оболонки ADB, щоб змінити певний параметр, або надати дозвіл WRITE_SECURE_SETTINGS програмі, наприклад SecureTask або AutoTools щоб вони могли керувати зміною налаштувань. Безпечне налаштування, яке керує кнопками панелі навігації. З використанням Tasker, ви також можете контекстно змінювати панель навігації.

Надати WRITE_SECURE_SETTINGS для SecureTask або AutoTools просто, оскільки все, що вам потрібно зробити, це ввести будь-яку з наведених нижче команд оболонки ADB, яка не вимагає від вас рутування.

Для 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)"

Шляхи піктограм, на які посилається команда, є власними піктограмами, з яких я завантажив IconsDB. Я отримав правильний розмір піктограми, подивившись на щільність дисплея свого пристрою 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 робить це все простіше.


Як би ви хотіли налаштувати панель навігації? Дайте нам знати в коментарях нижче!