Hvordan aktivere systemomfattende oppslukende modus uten rot

click fraud protection

En veiledning om hvordan du aktiverer oppslukende modus for hele systemet (eller per app-basis) uten å kreve root-tilgang. Fungerer på alle Android 4.4+-enheter.

Ettersom telefonskjermene har blitt større og større, ønsker vi noen ganger å skjule status- og navigasjonslinjen slik at vi kan se innholdet vårt ved å bruke hele den skarpe, vakre HD-skjermen.

Fra og med Android 4.4 kan applikasjoner implementeres Oppslukende modus for å virkelig gi en fullskjermopplevelse til en sluttbruker. Dessverre har Google og OEM-er aldri avslørt muligheten for brukere til å manuelt kontrollere når de vil aktivere oppslukende modus. En tredjepartsapplikasjon kalt GMD fullskjermoppslukende modus har gitt en løsning i noen år nå, men det største problemet med å bruke denne appen er at den bryter det myke tastaturet.

Brukere har svevet rundt en ADB-kommando som utløser en systemomfattende Immersive Mode i ganske lang tid, men i årevis ble det antatt at bruk av denne kommandoen når den ble koblet fra en ADB-terminal ville kreve root adgang. Men sent i fjor oppdaget brukere at visse ADB-kommandoer faktisk kunne utløses på enheten 

uten root-tilgang, forutsatt at applikasjonen har en viss tillatelse. Dette betyr at du kan aktivere systemomfattende oppslukende modus på etterspørsel. Du kan for eksempel lage en Nougat-flis for å bytte oppslukende modus, eller til og med angi oppslukende modus per app.


Bytt oppslukende modus uten rot

Som du kan se i videoen ovenfor, har jeg laget en Nougat-flis som veksler på oppslukende modus når jeg trykker på den. Dette er på min urotede Huawei Mate 9, men det burde fungere videre nesten alle Android 4.4+-enheter. Du trenger bare to applikasjoner for å få dette til å fungere: Tasker og AutoTools Beta. Du må også installere Autovarsling hvis du vil lage en Nougat-flis av dette, men det er ikke nødvendig.

Når du har installert begge programmene, må du gi WRITE_SECURE_SETTINGS tillatelse til AutoTools for å kunne bytte oppslukende modus (blant andre fantastiske innstillinger som vi vil dekke på et senere tidspunkt). Dette er fordi kommandoen for Immersive Mode er definert under Innstillinger. Global klasse, selv om den eksakte syntaksen for kommandoen er skjult i AOSP. Vi vil først gå over hvordan du gir den nødvendige tillatelsen til AutoTools og deretter hvordan du bruker kommandoen i Tasker.


Under Androids tillatelsesstyringssystem definerer applikasjoner tillatelsene de vil gis i Manifest-filen. Brukere kan deretter gi eller nekte tillatelser ved installasjon (pre-Marshmallow) eller på forespørsel (Marshmallow+). Det er imidlertid visse tillatelser som søknader ikke kan gis selv om de ber om det i Manifestet, som f.eks WRITE_SECURE_SETTINGS. Dette er fordi å gi enhver applikasjon en tillatelse så kraftig som dette ville gi den appen massevis av kontroll over enheten din.

Men det er én løsning som vi kan bruke for å gi WRITE_SECURE_SETTINGS-tillatelsen til enhver app vi ønsker. Ved å bruke ADB-er pakkeansvarlig (pm) verktøyet, kan vi gi enhver tillatelse til enhver applikasjon vi ønsker (forutsatt at applikasjonen ber om tillatelsen i Manifest-filen).

Det første du må gjøre er installer ADB-binæren på datamaskinen din etterfulgt av riktig driver for enheten din. Aktiver deretter USB-feilsøking i utvikleralternativer (gå til Innstillinger --> Om telefon og trykk på Byggnummer 7 ganger hvis du ikke allerede har gjort det) og koble telefonen til datamaskinen. Til slutt, send følgende kommando når du har åpnet en terminal:

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

Nå vil AutoTools ha muligheten til å endre alle globale, sikre eller systeminnstillinger på enheten din. Det er forskjellige måter du kan leke med disse innstillingene, og listen over tilgjengelige innstillinger i hver kategori avhenger helt av enheten og programvarebyggingen din, men den diskusjonen er for en annen tid. I alle fall, vi går videre og viser deg hvordan du bruker AutoTools for å bytte oppslukende modus.


Bruke Tasker til å bytte oppslukende modus via Nougat Tile

Å veksle oppslukende modus via en flis krever åpenbart Android Nougat, så hvis du ikke har Nougat, kan du hoppe over denne delen for å lære hvordan du veksler den per app. Hvis du ikke allerede har gjort det, kan du laste ned AutoNotification fra Google Play Store og gi den varslingstilgang. Denne Tasker-plugin-modulen er det vi skal bruke til å lage vår egen tilpassede varslingsflis.

Her er profilbeskrivelsen for deg som er kjent med Tasker. Hvis du ikke er så kjent med Tasker, les videre for trinnvise instruksjoner.

Veksle mellom Nougat Tile Immersive Mode

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 ]

Les mer

Åpne Tasker og trykk på + knappen nederst i høyre hjørne. Opprett en Begivenhet kontekst og velg Plugin --> Autovarsling. Trykk på blyantikonet for å åpne konfigurasjonssiden for AutoNotification. Under Kommandofilter Tast inn oppslukende modus. Dette er den nøyaktige kommandoen som sendes når vi trykker på en Nougat-brikke.

Opprett nå en ny oppgave (med hvilket som helst navn) knyttet til denne profilen, og for den første handlingen gå til Plugin --> Autovarsling --> Fliser. For brikkenummeret, velg den første brikken. For Kommando Tast inn oppslukende modus akkurat som skrevet. De merkelapp er det som vil vises under flisen, så gi det et navn som «Immersive Mode». For Ikon, lagre ikonet som jeg la ved begynnelsen av denne delen til din interne lagring og bruk det. Endelig for Stat plukke ut Veksle Aktiv/Inaktiv.

Når du er ferdig, kjør oppgaven én gang (trykk på avspillingsknappen nederst til venstre på oppgaveopprettingsskjermen) slik at flisen blir fylt ut. Nå når du utvider listen over tilgjengelige varslingsfliser, bør du se den nye Immersive Mode-veksleren din.


Bruke Tasker til å bytte oppslukende modus på en per-app-basis

Det er ganske enkelt å bytte oppslukende modus på per-app-basis, alt vi trenger å gjøre er å lage en applikasjonskontekst i Tasker som vil utløses når applikasjonen startes eller lukkes, og når den gjør det er Immersive Mode vekslet. For at Tasker skal overvåke applikasjoner, må du aktivere den Tilgjengelighetstjeneste.

Her er profilbeskrivelsen for deg som er kjent med Tasker. Hvis du ikke er så kjent med Tasker, les videre for trinnvise instruksjoner.

Oppslukende modus per app

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 ]

Les mer

Du vil først åpne Tasker, da vi oppretter en profil for å starte oppslukende modus når visse applikasjoner er åpne. Åpne Tasker og trykk på + knappen nederst til høyre for å opprette en ny profil. Velg for konteksttypen applikasjon og velg alle applikasjonene du vil at Immersive Mode skal være aktiv i.

Når du er ferdig, trykk tilbake og Tasker vil be deg om å opprette en oppgave. Det er ikke nødvendig å navngi oppgaven, så bare trykk på haken for å begynne å lage oppgaven. Når du går inn i skjermbildet Oppretting av oppgaver, er det bare én handling du trenger å legge til. trykk + knappen nederst og gå til Plugin --> Autoverktøy --> Sikker innstilling. Trykk på blyantikonet for å konfigurere AutoTools. Her, gå til Vise trykk deretter på Oppslukende modus og velg "Veksle."

Det er en siste ting vi må gjøre, og det er å deaktivere oppslukende modus når du avslutter applikasjonen. Gå tilbake til Taskers hovedskjerm og lang trykk på oppgaven du nettopp opprettet, slik at du kan opprette en Avslutt oppgave. Når du oppretter en utgangsoppgave, legger du ganske enkelt til den samme handlingen du la til i den første oppgaven - dette vil bytte oppslukende modus.


Finjustering av oppslukende modus

Som jeg nevnte tidligere, kan de nøyaktige kommandoene som er tilgjengelige for å tvinge Immersive Mode være hentet fra AOSP. Du kan angi Immersive Mode til bare å skjule varslingslinjen eller bare skjule navigasjonslinjen også, ved å utstede en av følgende kommandoer:

settings put global policy_control immersive.status=*

settings put global policy_control immersive.navigation=*

Selvfølgelig lar AutoTools deg ikke direkte sende skallkommandoer som dette, men i stedet sender du kommandoen ved hjelp av grensesnittet. Bare velg "Custom Setting" i AutoTools Secure Settings, sett innstillingstypen til "global", sett "Input Type" til "String" og for navnet må du skrive inn "policy_control immersive.status=*" eller "policy_control immersive.navigation=*". Du kan bruke denne kommandoen i stedet for den vi brukte for Nougat-flisen eller per-app-kontroll hvis du foretrekker Immersive Mode å skjule en av enten statuslinjen eller navigasjonslinjen.


Last ned og importer til Tasker

Som alltid leverer vi skriptets XML-fil som du kan laste ned og importere. Bare last ned filen fra lenken nedenfor og lagre den hvor som helst på din interne lagring. Åpne Tasker og deaktiver nybegynnermodus i Innstillinger. Gå deretter tilbake til hovedskjermen og trykk lenge på "Profil"-fanen øverst. Du skal se en popup med et av alternativene "Importer." Trykk på det og bla til der du lagret .prf.xml-filen og velg den filen du vil importere.

Hvis du velger å importere varslingsflisen, sørg for at du lagrer Immersive Mode-ikonet som immersive.png og lagrer det i /sdcard/Tasker. Hvis du velger å importere Per-App-profilen, så sørg for at du går inn og tilpasser applikasjonene som den vil utløse på, siden prøven min er satt til å bare utløses når du bruker Chrome eller XDA Labs.

Last ned varslingsflisen Immersive Mode Toggle

Last ned Per-App Immersive Mode Toggle Profile

Vi håper du finner dette tipset nyttig. Gi oss beskjed i kommentarene nedenfor om dette fungerer for deg!