Како омогућити имерзивни режим широм система без роот-а

Водич о томе како да омогућите имерзивни режим на целом систему (или на основу апликације) без потребе за роот приступом. Ради на свим Андроид 4.4+ уређајима.

Како су екрани телефона постајали све већи и већи, понекад желимо да сакријемо статусну и навигациону траку како бисмо могли да видимо наш садржај користећи цео оштар, прелеп ХД екран.

Почевши од Андроида 4.4, апликације би могле да се имплементирају Иммерсиве Моде да заиста пружимо крајњем кориснику искуство преко целог екрана. Нажалост, Гоогле и ОЕМ-ови никада нису открили могућност да корисници ручно контролишу када желе да омогуће Иммерсиве Моде. Апликација треће стране под називом ГМД Фулл Сцреен Иммерсиве Моде већ неколико година пружа решење, али највећи проблем са коришћењем ове апликације је то што ломи мекану тастатуру.

Корисници су већ неко време лебдели око АДБ команде која покреће имерзивни режим у целом систему, али годинама се веровало да ће коришћење ове команде када се искључи са АДБ терминала захтевати роот приступ. Међутим, крајем прошле године корисници су открили да се одређене АДБ команде заправо могу покренути на уређају 

без роот приступа, под условом да апликација има одређену дозволу. То значи да можете омогући имерзивни режим у целом систему на захтев. Можете, на пример, да креирате Ноугат плочицу да бисте укључили имерзивни режим, или чак да подесите имерзивни режим за сваку апликацију.


Укључите имерзивни режим без роот-а

Као што можете видети у видеу изнад, направио сам Ноугат плочицу која укључује имерзивни режим када притиснем на њу. Ово је на мом нероутираном Хуавеи Мате 9, али би требало да ради скоро сваки Андроид 4.4+ уређај. Потребне су вам само две апликације да ово функционише: Таскер и АутоТоолс Бета. Такође ћете морати да инсталирате АутоНотифицатион ако желите да направите Ноугат плочицу од овога, али то није потребно.

Када инсталирате обе апликације, мораћете да одобрите ВРИТЕ_СЕЦУРЕ_СЕТТИНГС дозволу за АутоТоолс да бисте могли да укључите имерзивни режим (међу осталим сјајним подешавањима која ћемо покрити касније). То је зато што је команда за имерзивни режим дефинисана под Подешавања. Глобал класе, иако је тачна синтакса за команду скривена у АОСП. Прво ћемо размотрити како да доделимо потребну дозволу АутоТоолс-у, а затим како да користимо команду у Таскер-у.


У оквиру Андроид система за управљање дозволама, апликације дефинишу дозволе које желе да им се додели у датотеци манифеста. Корисници тада могу да дају или одбију дозволе за инсталацију (пре Марсхмаллов) или на захтев (Марсхмаллов+). Међутим, постоје одређене дозволе да се пријаве не могу одобрити чак и ако то траже у Манифесту, као нпр ВРИТЕ_СЕЦУРЕ_СЕТТИНГС. То је зато што би давање било којој апликацији тако моћне дозволе дало тој апликацији велику контролу над вашим уређајем.

Али постоји једно решење које можемо да користимо да доделимо дозволу ВРИТЕ_СЕЦУРЕ_СЕТТИНГС било којој апликацији коју желимо. Коришћењем АДБ-а менаџер пакета (пм) алат, можемо дати било коју дозволу било којој апликацији коју желимо (под условом да апликација захтева ту дозволу у датотеци манифеста).

Прва ствар коју ћете морати да урадите је инсталирајте АДБ бинарни фајл на рачунар, а затим и прави драјвер за ваш уређај. Затим омогућите УСБ отклањање грешака у опцијама за програмере (идите на Подешавања --> О телефону и куцните на Број верзије 7 пута ако већ нисте) и повежите телефон са рачунаром. На крају, пошаљите следећу команду када отворите терминал:

adb shell pm grant com.joaomgcd.autotools android.permission.WRITE_SECURE_SETTINGS

Сада ће АутоТоолс имати могућност да промени било које глобално, безбедно или системско подешавање на вашем уређају. Постоје различити начини на које можете да се играте са овим подешавањима и листом доступних подешавања свака категорија у потпуности зависи од вашег уређаја и верзије софтвера, али та дискусија је за другу време. У сваком случају, наставићемо да вам покажемо како да користите АутоТоолс да бисте укључили имерзивни режим.


Коришћење Таскер-а за укључивање имерзивног режима преко Ноугат плочице

Пребацивање имерзивног режима преко плочице очигледно захтева Андроид Ноугат, тако да ако немате Ноугат онда прескочите овај одељак да бисте научили како да га укључите за сваку апликацију. Ако већ нисте, преузмите АутоНотифицатион из Гоогле Плаи продавнице и одобрите му приступ обавештењу. Овај Таскер додатак је оно што ћемо користити да направимо сопствену прилагођену плочицу обавештења.

Ево описа профила за оне од вас који су упознати са Таскером. Ако нисте толико упознати са Таскер-ом, читајте даље за упутства корак по корак.

Пребацивање режима за урањање нуга плочица

Profile: Toggle Immersive Mode (30)
Event: AutoNotification [ Configuration: Event Behaviour
Filter: immersivemode ]
Enter: Immersive Mode (33)
A1: AutoNotification Tiles [ Configuration: Tile: 1
Command: immersivemode
Label: Immersive mode
Icon: /storage/emulated/0/Tasker/immersive.png
State: 999 Timeout (Seconds):60 ]
A2: AutoToolsSecureSettings[ Configuration: Immersive Mode: Toggle Timeout (Seconds):60 ]

Опширније

Отворите Таскер и притисните + дугме у доњем десном углу. Направите ан Догађај контекст и изаберите Додатак --> Аутоматско обавештење. Притисните икону оловке да бисте отворили страницу са конфигурацијом за аутоматско обавештење. Под Командни филтер ући имерзивни режим. Ово је тачна команда која ће бити послата када додирнемо Ноугат плочицу.

Сада креирајте нови задатак (са било којим именом) прикачен овом профилу, а за прву радњу идите на Додатак --> Аутоматско обавештење --> Плочице. За број плочице изаберите прву плочицу. За Цомманд ући имерзивни режим тачно онако како је написано. Тхе етикета је оно што ће бити приказано испод плочице, па га назовите нешто попут „Иммерсиве Моде“. За Икона, сачувајте икону коју сам приложио на почетку овог одељка у своју интерну меморију и искористите је. Коначно за Држава изаберите Укључите/искључите активни/неактиван.

Када завршите, покрените задатак једном (притисните дугме за репродукцију у доњем левом углу екрана за креирање задатка) тако да ће плочица бити попуњена. Сада када проширите листу доступних плочица за обавештења, требало би да видите свој нови имерзивни режим.


Коришћење Таскер-а за укључивање имерзивног режима на основу апликације

Пребацивање имерзивног режима на основу апликације је прилично једноставно, све што треба да урадимо је да креирамо контекст апликације у Таскер који ће се покренути када се апликација покрене или затвори, а када то учини, је Иммерсиве Моде преклопљено. Да би Таскер надгледао апликације, мораћете да га омогућите Услуга приступачности.

Ево описа профила за оне од вас који су упознати са Таскером. Ако нисте толико упознати са Таскер-ом, читајте даље за упутства корак по корак.

Имерзивни режим по апликацији

Profile: Per-App Immersive Mode (192)
Application: Chrome or XDA Labs
Enter: Anon (199)
A1: AutoToolsSecureSettings[ Configuration: Immersive Mode: Toggle Timeout (Seconds):60 ]

Exit: Anon (204)
A1: AutoToolsSecureSettings[ Configuration: Immersive Mode: Toggle Timeout (Seconds):60 ]

Опширније

Прво ћете желети да отворите Таскер, јер ћемо креирати профил за покретање Иммерсиве Моде када су одређене апликације отворене. Отворите Таскер и притисните + дугме у доњем десном углу да бисте креирали нови профил. За тип контекста изаберите Апликација и изаберите све апликације у којима желите да Иммерсиве Моде буде активан.

Када завршите, притисните назад и Таскер ће вас замолити да креирате задатак. Нема потребе да именујете задатак, па само притисните квачицу да бисте започели креирање задатка. Када уђете у екран за креирање задатка, потребно је да додате само једну радњу. притисните + дугме на дну и идите на Додатна компонента --> АутоТоолс --> Сецуре Сеттинг. Притисните икону оловке да бисте конфигурисали АутоТоолс. Ево, иди на Приказ затим додирните Иммерсиве Моде и изаберите "Искључи."

Постоји још једна ствар коју треба да урадимо, а то је да онемогућимо имерзивни режим када изађете из апликације. Вратите се на главни екран Таскера и Дуго притисните на задатку који сте управо креирали да бисте могли да креирате Изађи задатак. Када креирате излазни задатак, једноставно додајте исту акцију коју сте додали у првом задатку - ово ће укључити имерзивни режим.


Фино подешавање имерзивног режима

Као што сам раније поменуо, тачне команде доступне за форсирање имерзивног режима могу бити извучено из АОСП. Можете подесити Иммерсиве Моде да сакрије само траку са обавештењима или само навигациону траку, издавањем било које од следећих команди:

settings put global policy_control immersive.status=*

settings put global policy_control immersive.navigation=*

Наравно, АутоТоолс вам заправо не дозвољава директно слање команди љуске попут ове, већ ћете уместо тога послати команду користећи њен интерфејс. Само изаберите „Цустом Сеттинг“ у АутоТоолс Сецуре Сеттингс, подесите тип подешавања на „глобал“, подесите „Инпут Типе“ на „Стринг“ и за Име морате да унесете „полици_цонтрол иммерсиве.статус=*“ или „полици_цонтрол иммерсиве.навигатион=*". Можете да користите ову команду уместо оне коју смо користили за Ноугат плочицу или контролу по апликацији ако више волите да имерзивни режим сакрива неку од статусне траке или траке за навигацију.


Преузмите и увезите у Таскер

Као и увек, пружамо КСМЛ датотеку скрипте коју можете да преузмете и увезете. Једноставно преузмите датотеку са доње везе и сачувајте је било где у интерној меморији. Отворите Таскер и онемогућите почетнички режим у подешавањима. Затим се вратите на главни екран и дуго притисните картицу „Профил“ на врху. Требало би да видите искачући прозор са једном од опција „Увези“. Додирните то и потражите где сте сачували .прф.кмл датотеку и изаберите ту датотеку за увоз.

Ако одаберете да увезете плочицу са обавештењима, обавезно сачувајте икону Иммерсиве Моде као иммерсиве.пнг и сачувајте је у /сдцард/Таскер. Ако одлучите да увезете профил по апликацији, обавезно уђите и прилагодите апликације које ће се покренути, јер је мој узорак подешен да се покреће само када користим Цхроме или КСДА Лабс.

Преузмите преклопник за имерзивни режим плочице са обавештењима

Преузмите профил за укључивање/искључивање режима по апликацији

Надамо се да ће вам овај савет бити користан. Обавестите нас у коментарима испод да ли ово ради за вас!