Як додати власні кнопки до панелі навігації на Samsung Galaxy S8/S8+

click fraud protection

Посібник із додавання спеціальної кнопки до панелі навігації на Samsung Galaxy S8 або Samsung Galaxy S8+. Не потребує доступу root.

Galaxy S8 і Galaxy S8+ від Samsung є двома найпопулярнішими смартфонами на ринку, головним чином завдяки великим успіхам, які Samsung досягла з технологією відображення. Оскільки Samsung прагнула максимально зменшити рамки своїх нових флагманських пристроїв, компанія нарешті позбулася ємнісних клавіш, які колись були основними елементами обладнання Samsung. На його місці є програмні навігаційні клавіші, які можна певною мірою змінити в інтерфейсі користувача Samsung Experience.

Проте, як завжди, стандартній реалізації тюнера навігаційної панелі не вистачає можливостей налаштування. Більшість налаштувань зосереджена навколо кнопки «Додому» — ви можете змінити чутливість і розблокувати телефон безпосередньо. Хоча є можливість змінити розташування кнопок, єдине розташування, на яке ви можете переключитися, – це інвертований макет, у якому клавіша «Назад» і «Останні» перевертаються.

Ми в XDA-Developers завжди шукаємо більше, ніж пропонує виробник, щоб знайти більше способів налаштувати ваш телефон. Ось чому сьогодні ми представляємо метод додати додаткові кнопки на панель навігації на Samsung Galaxy S8 і S8+.

Якщо ви стежите за порталом XDA (як і має бути), можливо, ви бачили мою публікацію минулого місяця про те, як налаштування навігаційної панелі можна виконати в Android 7.X пристроїв, не вимагаючи модифікацій системного інтерфейсу користувача, користувальницьких ПЗУ або будь-якого кореневого доступу. Метод передбачає пряму зміну налаштувань, які відповідають за налаштування навігаційної панелі, навіть якщо графічний інтерфейс для зміни навігаційної панелі був прихований від користувача. Це тому, що код, який створює прихований тюнер панелі навігації, був у сховищах Android Open Source Project (AOSP) ще з Android Nougat, але це не було до Android O що Google викрив цю діяльність під системним налаштуванням інтерфейсу користувача. Однак якщо програмне забезпечення, яке постачається на вашому пристрої під керуванням Android Nougat, не повністю видалило код, що стоїть за тюнером панелі навігації, можна використовувати цю функцію, не чекаючи.

Змінення панелі навігації передбачає надсилання команд оболонки через ADB або програму, якій надано дозвіл WRITE_SECURE_SETTINGS. Через те, що багато людей не знайомі з використанням ADB, XDA Senior Member paphonb розробив додаток під назвою Спеціальна панель навігації щоб вам було легше.

Коли тисячі людей почали тестувати його програму, багато користувачів Galaxy S8 і Galaxy S8+ почали часто стикатися з збоями інтерфейсу користувача під час спроби використовувати програму. Ми таким чином передбачається що модифікація навігаційної панелі поза впровадженням Samsung була неможливою, але це припущення згодом було визнано помилковим. Ось як це зробити.

Додавання спеціальних кнопок до навігаційної панелі на Galaxy S8 або S8+

Після початкового тестування ми виявили, що команди командної оболонки ті самі надсилання мого оригінального підручника також працює на Galaxy S8 і S8+, але з одним серйозним застереженням. Оригінальні клавіші «Назад», «Додому», «Останні» та перемикач IME ПОВИНЕН бути присутнім незалежно від того, який макет ви використовуєте. Якщо будь-який із цих ключів відсутній, системний інтерфейс користувача почне постійно аварійно завершувати роботу. Крім того, будь-яка клавіша, яку ви додаєте до панелі навігації, виглядатиме трохи дивно на панелі навігації Samsung автоматично змінює кольори на білий фон, але я шукаю способи обійти цей другорядний незручність.

У будь-якому випадку, давайте зануримося в команди, які вам потрібно буде вивчити, щоб змінити панель навігації на вашому пристрої Samsung Galaxy. Перше, що вам потрібно зробити, це налаштувати ADB на вашій машині.

Налаштування ADB

Перший, завантажте двійковий файл ADB прямо з Google для вашої конкретної ОС і розпакуйте його в окремий каталог на вашому комп’ютері. далі, встановити правильний драйвер для вашого телефону Samsung. Потім увімкніть «Налагодження USB» у Параметрах --> Параметри розробника. Якщо ви не бачите «Параметри розробника», вам потрібно буде ввімкнути його, перейшовши в «Налаштування» --> «Про телефон», а потім 7 разів торкнувшись номера збірки. Нарешті, переконайтеся, що ADB працює, запустивши командний рядок у тому самому каталозі, що й двійковий файл ADB (утримуйте shift + клацніть правою кнопкою миші --> «відкрити командний рядок тут») і виконайте таку команду:

adb devices

Якщо ви бачите серійний номер свого пристрою (і він не говорить про неавторизований), ви золоті. Якщо на вашому телефоні з’явиться спливаюче вікно з проханням надати вашому комп’ютеру доступ до ADB, скажіть «так». Якщо ви не бачите жодного з них, спробуйте перезавантажити комп’ютер/телефон і повторно підключити його до комп’ютера. В іншому випадку спробуйте перевстановити драйвер.

Зміна навігаційної панелі - метод ADB

Синтаксис для зміни панелі навігації такий:

settings put secure sysui_nav_bar "key(KEYCODE_CONSTANT: file:///path/to/icon.png),back; home; recent, menu_ime"

де KEYCODE_CONSTANT відноситься до константи a KeyEvent а шлях піктограми – це URI файлу, який дозволяє вказати спеціальну піктограму для додавання на панель навігації. Я виявив, що піктограми розміром 64x64 досить добре працюють для наших цілей. Ви можете завантажити багато безкоштовних іконок з IconsDB веб-сайт.

Як приклад, команда, яку я надіслав, щоб додати клавішу панелі навігації, яка запускає програму Gmail, така:

settings put secure sysui_nav_bar "key(65:file:///storage/emulated/0/NavIcons/gmail.png),back; home; recent, menu_ime"

Оскільки десь у команді обов’язково повинні бути back, home, recent і menu_ime, це означає, що, на жаль, ми не можемо замінити ці стандартні ключі, щоб ми могли використовувати наші власні піктограми панелі навігації. Але принаймні ми можемо пограти з інтервалом, щоб мати можливість розмістити більше спеціальних клавіш або просто отримати макет, який ми б віддали перевагу. Наприклад:

settingsputsecuresysui_nav_bar "space[#],back[#];home[#];recent[#],menu_ime[#]"

Значення в дужках є множником відносного розміру, що дозволяє зменшувати або розширювати ширину кнопки. Зауважте, що типові значення множника відносного розміру мають залишатися в межах 0,85-1,15, інакше кнопки почнуть займати занадто мало або занадто багато ширини, щоб справді ними можна було користуватися. Не намагайтеся поставити «0» для відносного розміру, намагаючись приховати клавішу панелі навігації – ви просто призведете до збою системного інтерфейсу користувача.

Якщо ви щось зіткнетеся й призведе до збою інтерфейсу користувача, ви можете повернутися до макета навігаційної панелі за замовчуванням, ввівши одну з наступних двох команд:

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

Як нагадування про деякі божевільні речі, які ви можете робити за допомогою прихованого тюнера навігаційної панелі Android Nougat, ось знімок екрана макета навігаційної панелі, який зробив для сміху один із наших читачів.

Наука зайшла занадто далеко? Кредити: ЕндіЯн

Змінення навігаційної панелі – метод програми

Я впевнений, що ця частина справді цікавить більшість із вас. Старший член XDA paphonb's Спеціальна панель навігації додаток спростить усе це. Нещодавно розробник з’ясував, як перехопити певні KeyEvents, які викликають певні програми – загалом він з’ясував, як перехопити до 5 KeyEvents. Точне пояснення того, як він спрацював, тут не потрібне, тому ми не будемо вдаватися в подробиці. Зважаючи на це, розробник зміг оновити програму (починаючи з версії 0.5.0), щоб ви могли фактично виконувати будь-які дії, які вам заманеться.

Наприклад, нещодавно розробник додав можливість додати дію, яка тягне вниз рядок стану, безпосередньо запустіть програму за вашим вибором, і найголовніше, щоб викликати a Подія Tasker. Зокрема, функція подій Tasker є найдивовижнішою частиною, оскільки за допомогою Tasker кількість дій, які ви можете виконувати, необмежена. Якщо ви хочете, щоб ваша кнопка панелі навігації щось робила, вона це може зробити. Поєднайте це з уже наявною інтеграцією профілю Tasker, і ви зможете контекстно змінювати панель навігації на своєму пристрої, щоб додавати певні клавіші лише за умов, які ви виберете.

Щоб скористатися цими спеціальними функціями програми, вам доведеться заплатити 1,99 доларів США за оновлення до професійної версії програми. Наразі, щоб використовувати програму на своєму Samsung Galaxy S8/S8+, вам потрібно встановити останню бета-версію (0.7.0). Додаток автоматично визначить, чи використовуєте ви Galaxy S8/S8+, і вимкне деякі функції, які призведуть до збою пристрою.

Розробник сказав мені, що він все ще працює над підготовкою програми до стабільного випуску для користувачів цих телефонів Samsung. Прямо зараз, я б зачекайте кілька днів, поки розробник оновить свою програму тож у вас буде простий спосіб змінити навігаційну панель без використання команд ADB. Розробник швидко оновлює свою програму - оскільки програма була випущена менше місяця тому, вона вже побачила численні доповнення до функцій.


Висновок

Але якщо ви досить сміливі, ви можете пограти з прихованою навігаційною панеллю, використовуючи синтаксис, який я показав раніше. Більшість людей, швидше за все, чекатимуть оновлення програми Custom Navigation Bar – я просто хотів оприлюднити цю новину, щоб усі наші друзі Galaxy S8/S8+ знали, чого очікувати. Я продовжу публікувати навчальні посібники, пов’язані з тюнером навігаційної панелі, а наступний зосереджусь на тому, як додати подвійні/хитрі клацання до кнопок панелі навігації.

Будь ласка, підтримайте XDA-Developers у будь-який спосіб! Нещодавно ми виявили, що було кілька блогів, вирізаних, скопійованих, вставлених нашими оригінальними посібниками та іншим вмістом, яким наші користувачі поділилися на форумах. Ці блоги намагаються приписати величезну кількість зусиль, які ми докладаємо для збирання цих посібників, а не надавати якісний вміст самостійно. Ви не знайдете таких посібників, як ті, які ми написали в нашому категорія підручників або навчальні посібники з наших форумів деінде.

Слідкуй за нами на Twitter, Google+, Facebook, або YouTube. Перевірте наш Лабораторії XDA додаток для швидкого перегляду наших форумів (і подумайте про отримання XDA без реклами теж!) на вашому мобільному пристрої! Дякуємо та чекайте на наш наступний урок!