Как да зададете персонализиран скрийнсейвър на устройства Huawei и Honor, работещи с EMUI

Урок за това как да зададете персонализиран скрийнсейвър/DayDream на устройства Huawei или Honor, работещи с EMUI. Това се прави чрез ADB команда, така че не е необходим root.

Android 4.2 Jelly Bean представи функция, наречена daydream, която по същество е просто интерактивен скрийнсейвър който се активира, когато устройството е в докинг станция и/или се зарежда. Разработчиците на трети страни могат правят свои собствени скрийнсейвъри които са достъпни за потребителя в Настройки → Дисплей. За съжаление, не всеки OEM позволява на своите потребители да задават персонализиран скрийнсейвър. Huawei и неговата под-марка Honor, например, предоставят на своите потребители само една опция за скрийнсейвър - опцията за таблица със снимки, която действа като слайдшоу.

(Забележка: Google преименува Daydreams на скрийнсейвъри, започвайки с пускането на Android 7.0 Nougat, така че потребителите да не бъркат функцията с платформата Daydream VR. Устройствата Huawei и Honor обаче все още наричат ​​скрийнсейвърите „Daydream“ в настройките, така че използвам двата термина взаимозаменяемо.)

Не знам защо EMUI (софтуерът, работещ на смартфоните с Android на Huawei и Honor) не позволява на потребителите да задайте персонализиран скрийнсейвър в настройките, но знам, че е възможно да зададете свой собствен скрийнсейвър ръчно. Ето как.


Урок - Задайте персонализиран скрийнсейвър ръчно в EMUI

Настройте ADB

Тъй като този метод включва изпращане на ADB команди, първо ще трябва да се уверим, че имаме тази настройка, преди да докоснем нещо друго. Изтеглете самостоятелен ADB двоичен файл и го запазете навсякъде в хранилището на вашия настолен/лаптоп компютър (професионален съвет: за Windows пуснете всичко в C:\Windows за ADB да работи в цялата система). След това се уверете, че имате инсталиран правилния драйвер за вашия телефон, като стартирате HiSuite и да видим дали разпознава телефона ви. Ако не, оставете HiSuite да инсталира драйверите вместо вас.

Сега на телефона си отидете в Настройки → Всичко за телефона и докоснете „номер на компилация“ 7 пъти, докато не видите изскачащ прозорец, в който се посочва, че вече сте разработчик. Обратно в Настройки ще се появи нов елемент от менюто, наречен Опции за разработчици. Въведете това и потърсете „USB отстраняване на грешки“. Активирайте го и след това свържете телефона към компютъра.

Отворете команден ред/терминал на вашия компютър и въведете следната команда:

adb devices

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

Настройка на потребителски скрийнсейвър

Следващото нещо, което трябва да направите, е да отидете в Настройки → Дисплей и да завъртите превключвателя, за да включите скрийнсейвърите (наречени Daydream в EMUI). Не се притеснявайте за никоя от настройките под него, всичко това ще бъде без значение, когато зададем собствен персонализиран скрийнсейвър.

След това ще трябва да изтеглите и инсталирате персонализирана мечта/скрийнсейвър от Google Play Store. Тествах този метод на Google часовник, Скрийнсейвър Lucid DayDream, и Нощен часовник. Ще ви е необходим и някакъв начин ръчно да разберете какво е името на „услугата мечта“ на вашето персонализирано приложение за скрийнсейвър. Това е името на услугата за скрийнсейвър, която системата Android стартира, когато я зададете в Settings → Display → Daydream. Въпреки това, тъй като EMUI не показва списъка с приложения, които разполагат с тази услуга, трябва да се поровим в услугите на приложението, за да разберем как се нарича.

Ще ви покажа два различни метода как да направите това. Метод 1 е по-малко прецизен, но по-лесен за изпълнение. Метод 2 ще гарантира, че ще получите правилното име.

Изтеглете и инсталирайте Моите инструменти за Android от Play Store. Отворете приложението и разгънете страничната лента отляво. Докоснете „Услуга“ под Информация за компонента, за да изведете списъка с инсталирани приложения и всичките им услуги. Потърсете приложението Daydream/screen saver, което сте инсталирали в списъка. Изберете го и ще видите списък с услуги, които всяко приложение има.

Потърсете нещо, което звучи като услугата daydream/screen saver. За Google Clock това би било com.android.deskclock.Screensaver. За Lucid това е de.j4velin.ultimateDayDream.DreamWrapper. За Нощен часовник това е com.firebirdberlin.nightdream.NightDreamService. След като разполагате с тази информация, ние сме готови да настроим нашия персонализиран скрийнсейвър. Пропуснете по-долу частта „Изпращане на ADB команда за задаване на персонализирани скрийнсейвъри“.

Метод 2 - Проверка на манифестния файл на Android

Изтеглете всяко приложение от Play Store, което може да проверява файла с манифеста на Android на приложението. използвах Разработчик за тази цел, но всяко друго приложение работи. Вижте файла с манифеста на приложението за скрийнсейвър и потърсете етикет, който включва разрешението „android.permission.BIND_DREAM_SERVICE.”

Фрагмент от файла с манифеста на Android от Google Clock
Фрагмент от файла с манифеста на Android от Lucid DayDream
Фрагмент от файла с манифеста на Android от Night Clock

След като го намерите, обърнете внимание на името на услугата. За Google Clock това би било com.android.deskclock.Screensaver. За Lucid това е de.j4velin.ultimateDayDream.DreamWrapper. За Нощен часовник това е com.firebirdberlin.nightdream.NightDreamService.

Изпращане на командата ADB за задаване на персонализирани скрийнсейвъри

Отворете команден ред или терминал на вашия компютър и въведете следната команда:

adb shell

След това въведете тази команда:

settingsputsecurescreensaver_componentsYOUR.CUSTOM.SCREENSAVER.COMPONENT

където YOUR.CUSTOM.SCREENSAVER.COMPONENT е името на пакета на скрийнсейвъра, последвано от името на услугата на скрийнсейвъра. Името на пакета и името на услугата трябва да бъдат разделени с наклонена черта.

Например, ако искам да задам Google Clock като скрийнсейвър:

settings put secure screensaver_components com.android.deskclock/.Screensaver

Както можете да видите, първата част от компонента, com.android.deskclock, е името на пакета на Google Clock. Ако сте следвали метод 1, името на пакета се намира чрез разглеждане на общия префикс на всички услуги. Ако сте следвали метод 2, името на пакета е посочено най-отгоре на файла на манифеста. Така или иначе, можете просто да приемете, че това, което следва преди последната точка, е името на пакета.

За втората част от името на компонента, .Screensaver, това всъщност е нотация за бърз достъп, която ни позволява да пропуснем необходимостта да изписваме пълното име на компонента com.android.deskclock/com.android.deskclock.Screensaver.

Като друг пример, ето как бих задал Lucid като скрийнсейвър:

settings put secure screensaver_components de.j4velin.ultimateDayDream/.DreamWrapper

И накрая, ето как бих задал Night Clock като мой скрийнсейвър:

settings put secure screensaver_components com.firebirdberlin.nightdream/.NightDreamService

След като зададете своя персонализиран скрийнсейвър чрез ADB команда, сте готови. Просто включете телефона си или го докинг станция и изчакайте екранът да изтече сам. Сега трябва да видите как вашият телефон Huawei или Honor започва да възпроизвежда вашия персонализиран скрийнсейвър! Ако искате да персонализирате скрийнсейвъра, ще трябва да го направите, като влезете в настройките на приложението.


Следвай XDA уроци RSS канал за повече съдържание като това. Изтегли XDA Labs за да наваксате бързо всички най-нови новини и оригинални функции, публикувани на портала XDA.