Kuinka ottaa käyttöön järjestelmän laajuinen immersiivinen tila ilman juuria

Opetusohjelma Immersive Mode -tilan käyttöönotosta koko järjestelmässä (tai sovelluskohtaisesti) ilman pääkäyttäjän oikeuksia. Toimii kaikissa Android 4.4+ -laitteissa.

Puhelimen näytöt ovat kasvaneet ja suurentuneet, joten joskus haluamme piilottaa tilan ja navigointipalkin, jotta voimme tarkastella sisältöämme terävän ja kauniin HD-näytön kokonaisuudessaan.

Android 4.4:stä alkaen sovellukset voivat ottaa käyttöön Mukaansatempaava tila tuodaksesi loppukäyttäjälle todella koko näytön kokemuksen. Valitettavasti Google ja OEM-valmistajat eivät ole koskaan paljastaneet käyttäjien mahdollisuutta hallita manuaalisesti, milloin he haluavat ottaa Immersive Mode -tilan käyttöön. Kolmannen osapuolen sovellus nimeltä GMD: n koko näytön mukaansatempaava tila on tarjonnut ratkaisun muutaman vuoden ajan, mutta suurin ongelma tämän sovelluksen käytössä on, että se rikkoo pehmeän näppäimistön.

Käyttäjät ovat kelluneet ADB-komennon ympärillä, joka laukaisee järjestelmän laajuisen immersiivisen tilan jo jonkin aikaa, mutta vuosia uskottiin, että tämän komennon käyttäminen ADB-päätteestä irrotettuna vaatisi rootin pääsy. Viime vuoden lopulla käyttäjät kuitenkin huomasivat, että tietyt ADB-komennot voitiin itse asiassa laukaista laitteessa 

ilman pääkäyttäjän oikeuksia, jos sovelluksella on tietty lupa. Tämä tarkoittaa, että voit ottaa käyttöön koko järjestelmän kattavan immersiivisen tilan tarpeen vaatiessa. Voit esimerkiksi luoda Nougat-ruudun vaihtaaksesi Immersive Mode -tilan tai jopa asettaa Immersive Moden sovelluskohtaisesti.


Vaihda immersiivinen tila ilman juuria

Kuten yllä olevasta videosta näet, olen luonut Nougat-laatan, joka vaihtaa immersiivisen tilan, kun painan sitä. Tämä on juurruttamattomassa Huawei Mate 9:ssäni, mutta sen pitäisi toimia lähes kaikki Android 4.4+ -laitteet. Tarvitset vain kaksi sovellusta, jotta tämä toimii: Tasker ja AutoTools Beta. Sinun on myös asennettava Automaattinen ilmoitus jos haluat tehdä tästä Nougat-laatan, mutta sitä ei vaadita.

Kun olet asentanut molemmat sovellukset, sinun on myönnettävä WRITE_SECURE_SETTINGS luvan AutoToolsille voidakseen vaihtaa immersiivistä tilaa (muiden mahtavien asetusten ohella, joita käsittelemme myöhemmin). Tämä johtuu siitä, että Immersive Mode -komento on määritelty kohdassa Asetukset. Maailmanlaajuinen luokkaan, vaikka komennon tarkka syntaksi on piilotettu AOSP: ssä. Käymme ensin läpi, kuinka myönnetään tarvittavat käyttöoikeudet AutoToolsille, ja sitten kuinka komentoa käytetään Taskerissa.


Androidin käyttöoikeuksien hallintajärjestelmässä sovellukset määrittävät käyttöoikeudet, jotka niille haluavat myöntää Manifest-tiedostossa. Käyttäjät voivat sitten myöntää tai evätä käyttöoikeudet asennuksen yhteydessä (pre-Marshmallow) tai pyynnöstä (Marshmallow+). On kuitenkin olemassa tiettyjä lupia, joita sovelluksille ei voida myöntää, vaikka ne pyytäisivät sitä manifestissa, kuten esim WRITE_SECURE_SETTINGS. Tämä johtuu siitä, että myöntämällä mille tahansa sovellukselle niin tehokkaan luvan kuin tämä antaisi kyseiselle sovellukselle paljon hallintaa laitteeseesi.

Mutta on yksi ratkaisu, jonka avulla voimme myöntää WRITE_SECURE_SETTINGS-luvan mille tahansa haluamamme sovellukselle. Käyttämällä ADB: tä paketinhallinta (pm) työkalu, voimme myöntää minkä tahansa luvan mille tahansa haluamamme sovellukselle (edellyttäen, että sovellus pyytää tätä lupaa Manifest-tiedostossa).

Ensimmäinen asia, joka sinun on tehtävä, on Asenna ADB-binaari tietokoneellesi ja sen jälkeen oikea ohjain laitteellesi. Ota sitten käyttöön USB-virheenkorjaus Kehittäjäasetuksissa (siirry kohtaan Asetukset -> Tietoja puhelimesta ja napauta Rakennusnumero 7 kertaa, jos et ole jo tehnyt niin) ja yhdistä puhelimesi tietokoneeseen. Lähetä lopuksi seuraava komento, kun olet avannut terminaalin:

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

Nyt AutoToolsilla on mahdollisuus muuttaa mitä tahansa yleistä, suojattua tai järjestelmäasetusta laitteessasi. Voit pelata näillä asetuksilla ja käytettävissä olevien asetusten luettelolla usealla eri tavalla jokainen luokka riippuu täysin laitteestasi ja ohjelmistoversiostasi, mutta tämä keskustelu on toista varten aika. Joka tapauksessa näytämme sinulle, kuinka voit käyttää AutoToolsia immersiivisen tilan vaihtamiseen.


Taskerin käyttäminen immersiivisen tilan vaihtamiseen Nougat Tilen kautta

Immersive Moden vaihtaminen ruudun kautta vaatii luonnollisesti Android Nougatin, joten jos sinulla ei ole Nougatia, ohita tämä osio oppiaksesi vaihtamaan sitä sovelluskohtaisesti. Jos et ole vielä tehnyt niin, lataa AutoNotification Google Play Kaupasta ja myönnä sille ilmoitusten käyttöoikeus. Tätä Tasker-laajennusta käytämme oman mukautetun ilmoitusruudun tekemiseen.

Tässä on profiilikuvaus niille teistä, jotka tuntevat Taskerin. Jos et ole niin perehtynyt Taskeriin, lue vaiheittaiset ohjeet.

Nougat Tile Immersive Mode Toggle

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 ]

Lue lisää

Avaa Tasker ja paina + -painiketta oikeassa alakulmassa. Luo an Tapahtuma konteksti ja valitse Plugin --> AutoNotification. Paina kynäkuvaketta avataksesi automaattisen ilmoituksen määrityssivun. Alla Komentosuodatin tulla sisään mukaansatempaava tila. Tämä on tarkka komento, joka lähetetään, kun kosketamme Nougat-laatta.

Luo nyt tähän profiiliin liitetty uusi tehtävä (millä tahansa nimellä) ja siirry ensimmäiselle toiminnolle Plugin --> AutoNotification --> Laatat. Valitse laatan numeroksi ensimmäinen laatta. Varten Komento tulla sisään mukaansatempaava tila aivan kuten kirjoitettu. The etiketti on se, mikä näytetään ruudun alla, joten anna sille nimeksi "Immersive Mode". Varten Kuvake, tallenna tämän osion alussa liittämäni kuvake sisäiseen tallennustilaan ja käytä sitä. Lopuksi varten Osavaltio valitse Vaihda aktiivinen/ei-aktiivinen.

Kun olet valmis, suorita tehtävä kerran (paina tehtävänluontinäytön vasemmassa alakulmassa olevaa toistopainiketta), jotta ruutu täyttyy. Nyt kun laajennat saatavilla olevien ilmoitusruutujen luetteloa, sinun pitäisi nähdä uusi Immersive Mode -kytkin.


Taskerin käyttäminen immersiivisen tilan vaihtamiseen sovelluskohtaisesti

Immersive Moden vaihtaminen sovelluskohtaisesti on melko yksinkertaista, meidän tarvitsee vain luoda sovelluskonteksti Tasker, joka laukeaa, kun sovellus käynnistetään tai suljetaan, ja kun se tekee niin Immersive Mode on vaihdettu. Jotta Tasker voi valvoa sovelluksia, sinun on otettava se käyttöön Esteettömyyspalvelu.

Tässä on profiilikuvaus niille teistä, jotka tuntevat Taskerin. Jos et ole niin perehtynyt Taskeriin, lue vaiheittaiset ohjeet.

Sovelluskohtainen mukaansatempaava tila

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 ]

Lue lisää

Ensin kannattaa avata Tasker, sillä luomme profiilin Immersive Mode -tilan käynnistämiseksi, kun tietyt sovellukset ovat auki. Avaa Tasker ja paina + -painiketta oikeassa alakulmassa luodaksesi uuden profiilin. Valitse kontekstityypiksi Sovellus ja valitse kaikki sovellukset, joissa haluat Immersive Moden olevan aktiivinen.

Kun olet valmis, paina takaisin ja Tasker pyytää sinua luomaan tehtävän. Tehtävää ei tarvitse nimetä, joten paina valintamerkkiä aloittaaksesi tehtävän luomisen. Kun siirryt Tehtävän luontinäyttöön, sinun on lisättävä vain yksi toiminto. paina + -painiketta alareunassa ja siirry kohtaan Plugin --> AutoTools --> Secure Setting. Paina kynäkuvaketta määrittääksesi AutoTools. Tässä, mene Näyttö napauta sitten Mukaansatempaava tila ja valitse "Vaihda."

Viimeinen asia, joka meidän on tehtävä, on poistaa Immersive Mode käytöstä, kun suljet sovelluksen. Palaa Taskerin päänäyttöön ja pitkä painallus juuri luomassasi tehtävässä, jotta voit luoda Poistu tehtävästä. Kun luot poistumistehtävän, lisää vain sama toiminto, jonka lisäsit ensimmäisessä tehtävässä – tämä vaihtaa mukaansatempaavan tilan.


Hienosäätävä mukaansatempaava tila

Kuten aiemmin mainitsin, tarkat komennot, jotka ovat käytettävissä Immersive Mode -tilan pakottamiseksi, voivat olla poimittu AOSP: stä. Voit asettaa immersiivisen tilan piilottamaan vain ilmoituspalkin tai piilottamaan myös navigointipalkin antamalla jommankumman seuraavista komennoista:

settings put global policy_control immersive.status=*

settings put global policy_control immersive.navigation=*

Tietenkään AutoTools ei itse asiassa anna sinun lähettää suoraan tällaisia ​​komentotulkkikomentoja, vaan lähetät komennon sen käyttöliittymän kautta. Valitse vain "Custom Setting" AutoTools Secure Settings -kohdasta, aseta asetustyypiksi "global", aseta "Input Type" -asetukseksi "String" ja Nimelle tulee kirjoittaa "policy_control immersive.status=*" tai "policy_control" immersive.navigation=*". Voit käyttää tätä komentoa sen sijaan, jota käytimme Nougat Tile- tai sovelluskohtaisessa ohjauksessa, jos haluat mieluummin piilottaa joko tilapalkin tai navigointipalkin.


Lataa ja tuo Taskeriin

Kuten aina, tarjoamme skriptin XML-tiedoston, jonka voit ladata ja tuoda. Lataa vain tiedosto alla olevasta linkistä ja tallenna se minne tahansa sisäiseen tallennustilaan. Avaa Tasker ja poista aloittelijatila käytöstä asetuksista. Palaa sitten päänäyttöön ja paina pitkään "Profiili" -välilehteä ylhäällä. Sinun pitäisi nähdä ponnahdusikkuna, jossa yksi vaihtoehdoista on "Tuo". Napauta sitä ja selaa kohtaan, johon tallensit .prf.xml-tiedoston, ja valitse tuotava tiedosto.

Jos päätät tuoda ilmoitusruudun, muista tallentaa Immersive Mode -kuvake nimellä immersive.png ja tallentaa se kansioon /sdcard/Tasker. Jos päätät tuoda sovelluskohtaisen profiilin, varmista, että siirryt sisään ja mukautat sovelluksia, jotka se käynnistää, koska otokseni on asetettu käynnistymään vain, kun käytät Chromea tai XDA Labsia.

Lataa Notification Tile Immersive Mode Toggle

Lataa sovelluskohtainen mukaansatempaavan tilan vaihtoprofiili

Toivomme, että tämä vihje on sinulle hyödyllinen. Kerro meille alla olevissa kommenteissa, jos tämä toimii sinulle!