Как да добавите персонализирани бутони към лентата за навигация на Samsung Galaxy S8/S8+

Урок за това как да добавите персонализиран бутон към навигационната лента на 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 устройства, без да се изискват модификации на потребителския интерфейс на системата, персонализирани ROM или root достъп от всякакъв вид. Методът включва директно модифициране на настройките, които отговарят за настройката на лентата за навигация, въпреки че GUI за промяна на лентата за навигация е скрит от потребителя. Това е така, защото кодът, който съставлява скрития тунер на навигационната лента, е бил в хранилищата на Android Open Source Project (AOSP) от Android Nougat, но не е до Android O че Google разкри тази дейност под System UI Tuner. Въпреки това, докато софтуерът, доставен на вашето устройство с Android Nougat, не е премахнал напълно кода зад тунера на навигационната лента, е възможно да използвате тази функция, без да чакате.

Промяната на лентата за навигация включва изпращане на команди на обвивката или чрез ADB, или чрез приложение, на което е предоставено разрешение WRITE_SECURE_SETTINGS. Поради факта, че забъркването с ADB е нещо, с което много хора не са запознати, старши член на XDA paphonb разработи приложение, наречено Персонализирана лента за навигация за да направи всичко по-лесно за вас.

Тъй като хиляди хора започнаха да тестват неговото приложение, много потребители на Galaxy S8 и Galaxy S8+ започнаха да се сблъскват с чести сривове на потребителския интерфейс на системата, когато се опитват да използват приложението. Ние по този начин предполага се че модифицирането на навигационната лента извън изпълнението на Samsung е невъзможно - но това предположение оттогава се оказа погрешно. Ето как да направите точно това.

Добавяне на персонализирани бутони към лентата за навигация на Galaxy S8 или S8+

След известно първоначално тестване открихме, че командите на shell са същите изпращане на моя оригинален урок също работи на 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 работят доста добре за нашите цели. Можете да изтеглите много безплатни икони от ИкониDB уебсайт.

Като пример, командата, която изпратих за добавяне на клавиш на навигационната лента, който стартира приложението 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Персонализирана лента за навигация приложението ще направи всичко това по-лесно. Разработчикът наскоро измисли как да прихване определени KeyEvents, които извикват определени приложения - общо има до 5 KeyEvents, които той измисли как да прихване. Тук не е необходимо точното обяснение как е успял да работи, така че няма да навлизаме в повече подробности. Имайки това предвид, разработчикът успя да актуализира приложението (започвайки с версия 0.5.0), така че да можете по същество извършвайте каквото искате действие.

Например, разработчикът наскоро добави възможност за добавяне на действие, което дърпа надолу лентата на състоянието, директно стартиране на приложение по ваш избор, и най-важното за задействане на a Tasker събитие. По-специално функцията за събитие на Tasker е най-невероятната част, защото чрез Tasker количеството действия, които можете да извършвате, е неограничено. Ако искате бутонът на навигационната ви лента да прави нещо, той може да го направи. Съчетайте това с вече съществуващата интеграция на Tasker Profile и можете контекстуално да промените лентата за навигация на вашето устройство, за да добавите определени ключове само при условия по ваш избор.

За да използвате тези специални функции на приложението, ще трябва да отделите $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 Labs приложение за бърз начин за сърфиране в нашите форуми (и помислете за получаване XDA Без реклами също!) на вашето мобилно устройство! Благодаря и следете за следващия ни урок!