Een tutorial over hoe je de Immersive-modus voor het hele systeem (of per app) kunt inschakelen zonder dat je root-toegang nodig hebt. Werkt op alle Android 4.4+ apparaten.
Omdat telefoonschermen steeds groter zijn geworden, willen we soms de status- en navigatiebalk verbergen, zodat we onze inhoud kunnen bekijken op het hele heldere, mooie HD-scherm.
Vanaf Android 4.4 zouden applicaties kunnen worden geïmplementeerd Meeslepende modus om een eindgebruiker echt een ervaring op volledig scherm te bieden. Helaas hebben Google en OEM's nooit de mogelijkheid voor gebruikers getoond om handmatig te bepalen wanneer ze de Immersive Mode willen inschakelen. Er wordt een applicatie van derden gebeld GMD Meeslepende modus op volledig scherm biedt al een paar jaar een oplossing, maar het grootste probleem bij het gebruik van deze app is dat het zachte toetsenbord kapot gaat.
Gebruikers zweven al geruime tijd rond een ADB-opdracht die een systeembrede meeslepende modus activeert, maar Jarenlang werd aangenomen dat het gebruik van deze opdracht wanneer deze werd losgekoppeld van een ADB-terminal root nodig zou hebben toegang. Eind vorig jaar ontdekten gebruikers echter dat bepaalde ADB-opdrachten daadwerkelijk op het apparaat konden worden geactiveerd
zonder root-toegang, op voorwaarde dat de applicatie een bepaalde toestemming heeft. Dit betekent dat je dat kunt schakel de systeembrede meeslepende modus in op aanvraag. Je kunt bijvoorbeeld een Nougat-tegel maken om de Immersive-modus in of uit te schakelen, of zelfs de Immersive-modus per app instellen.Schakel de meeslepende modus zonder root in
Zoals je in de video hierboven kunt zien, heb ik een Nougat-tegel gemaakt die de Immersive-modus inschakelt als ik erop druk. Dit staat op mijn niet-geroote Huawei Mate 9, maar het zou moeten werken bijna elk Android 4.4+ apparaat. Je hebt slechts twee applicaties nodig om dit te laten werken: Tasker En AutoTools Bèta. Je zult ook moeten installeren Automatische notificatie Als je hier een Nougat-tegel van wilt maken, maar dit is niet verplicht.
Nadat u beide toepassingen heeft geïnstalleerd, moet u de SCHRIJF_SECURE_SETTINGS toestemming voor AutoTools om de meeslepende modus te kunnen schakelen (naast andere geweldige instellingen die we later zullen bespreken). Dit komt omdat de opdracht voor Immersive Mode is gedefinieerd onder de Instellingen. Globaal class, hoewel de exacte syntaxis voor de opdracht verborgen is in AOSP. We zullen eerst bespreken hoe u de benodigde toestemming aan AutoTools kunt verlenen en vervolgens hoe u de opdracht in Tasker kunt gebruiken.
Onder het machtigingsbeheersysteem van Android definiëren applicaties de machtigingen die ze willen verlenen in het Manifest-bestand. Gebruikers kunnen vervolgens machtigingen verlenen of weigeren bij installatie (pre-Marshmallow) of op aanvraag (Marshmallow+). Er zijn echter bepaalde machtigingen waardoor applicaties niet kunnen worden verleend, zelfs niet als ze daarom in het Manifest vragen, zoals SCHRIJF_SECURE_SETTINGS. Dit komt omdat het verlenen van een toestemming aan een applicatie die zo krachtig is als deze, die app veel controle over je apparaat zou geven.
Maar er is één oplossing die we kunnen gebruiken om de toestemming WRITE_SECURE_SETTINGS te verlenen aan elke gewenste app. Door het gebruik van ADB's pakketbeheerder (pm) tool, kunnen we elke gewenste toestemming verlenen aan elke gewenste applicatie (op voorwaarde dat de applicatie om die toestemming vraagt in het Manifest-bestand).
Het eerste dat u hoeft te doen is installeer het ADB-binaire bestand op uw computer, gevolgd door de juiste stuurprogramma voor uw apparaat. Schakel vervolgens USB-foutopsporing in in Opties voor ontwikkelaars (ga naar Instellingen --> Over de telefoon en tik zeven keer op Build-nummer als u dat nog niet hebt gedaan) en sluit uw telefoon aan op uw computer. Stuur ten slotte de volgende opdracht zodra u een terminal heeft geopend:
adb shell pm grant com.joaomgcd.autotools android.permission.WRITE_SECURE_SETTINGS
Nu heeft AutoTools de mogelijkheid om elke algemene, beveiligde of systeeminstelling op uw apparaat te wijzigen. Er zijn verschillende manieren waarop u met deze instellingen kunt spelen, en de lijst met beschikbare instellingen in elke categorie hangt volledig af van je apparaat en softwareversie, maar die discussie is voor een andere tijd. In ieder geval laten we u zien hoe u AutoTools kunt gebruiken om de Immersive-modus in te schakelen.
Tasker gebruiken om de meeslepende modus in te schakelen via Nougat Tile
Voor het omschakelen van de meeslepende modus via een tegel is uiteraard Android Nougat vereist, dus als je Nougat niet hebt, sla dan dit gedeelte over om te leren hoe je dit per app kunt omschakelen. Als u dat nog niet heeft gedaan, download dan AutoNotification vanuit de Google Play Store en verleen het Notificatietoegang. Deze Tasker-plug-in is wat we zullen gebruiken om onze eigen aangepaste meldingstegel te maken.
Hier is de profielbeschrijving voor degenen onder u die bekend zijn met Tasker. Als u niet zo bekend bent met Tasker, lees dan verder voor stapsgewijze instructies.
Nougat Tile Meeslepende modus schakelen
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 ]
Lees verder
Open Tasker en druk op de + knop in de rechterbenedenhoek. Creëer een Evenement context en selecteer Plug-in --> Automatische notificatie. Druk op het potloodpictogram om de configuratiepagina voor AutoNotification te openen. Onder de Commandofilter binnenkomen meeslepende modus. Dit is het exacte commando dat wordt verzonden als we op een Nougat-tegel tikken.
Maak nu een nieuwe taak (met een willekeurige naam) aan dit profiel gekoppeld en ga voor de eerste actie naar Plug-in --> AutoNotification --> Tegels. Voor het tegelnummer kiest u de eerste tegel. Voor de Commando binnenkomen meeslepende modus precies zoals geschreven. De etiket is wat er onder de tegel wordt weergegeven, dus noem het zoiets als 'Immersive Mode'. Voor de Icoon, sla het pictogram dat ik aan het begin van dit gedeelte heb bijgevoegd op in uw interne opslag en gebruik dat. Eindelijk voor de Staat selecteren Schakel tussen Actief/Inactief.
Als je klaar bent, voer je de taak één keer uit (druk op de afspeelknop linksonder in het scherm voor het maken van taken), zodat de tegel wordt gevuld. Zodra u nu de lijst met beschikbare meldingstegels heeft uitgevouwen, zou u uw nieuwe Immersive-modus moeten zien schakelen.
Tasker gebruiken om de meeslepende modus per app in te schakelen
Het omschakelen van de meeslepende modus per app is vrij eenvoudig, het enige dat we hoeven te doen is een applicatiecontext creëren Tasker die wordt geactiveerd wanneer de applicatie wordt gestart of gesloten, en wanneer dit gebeurt, is de Immersive-modus geschakeld. Om ervoor te zorgen dat Tasker applicaties kan monitoren, moet u deze inschakelen Toegankelijkheidsdienst.
Hier is de profielbeschrijving voor degenen onder u die bekend zijn met Tasker. Als u niet zo bekend bent met Tasker, lees dan verder voor stapsgewijze instructies.
Meeslepende 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 ]
Lees verder
U moet eerst Tasker openen, omdat we een profiel zullen maken om de meeslepende modus te starten wanneer bepaalde applicaties geopend zijn. Open Tasker en druk op de + knop rechtsonder om een nieuw profiel aan te maken. Selecteer voor het contexttype Sollicitatie en selecteer alle applicaties waarin je de Immersive Mode actief wilt hebben.
Als u klaar bent, drukt u op Terug en Tasker zal u vragen een taak te maken. Het is niet nodig om de taak een naam te geven, dus druk gewoon op het vinkje om het maken van de taak te starten. Zodra u het scherm voor het maken van taken opent, hoeft u slechts één actie toe te voegen. druk de + knop onderaan en ga naar Plug-in --> AutoTools --> Veilige instelling. Druk op het potloodpictogram om AutoTools te configureren. Hier, ga naar Weergave tik vervolgens op Meeslepende modus en kies "Schakelaar."
Er is nog een laatste ding dat we moeten doen, en dat is de Immersive Mode uitschakelen wanneer u de applicatie afsluit. Ga terug naar het hoofdscherm van Tasker en lang indrukken op de taak die u zojuist hebt gemaakt, zodat u een Verlaat de taak. Wanneer u een afsluittaak maakt, voegt u eenvoudigweg dezelfde actie toe die u in de eerste taak hebt toegevoegd. Hierdoor wordt de meeslepende modus omgeschakeld.
Meeslepende modus nauwkeurig afstemmen
Zoals ik eerder al zei, kunnen de exacte commando's die beschikbaar zijn voor het forceren van de Immersive Mode zijn afkomstig van AOSP. U kunt de meeslepende modus zo instellen dat alleen de meldingsbalk of alleen de navigatiebalk wordt verborgen door een van de volgende opdrachten uit te voeren:
settings put global policy_control immersive.status=*
settings put global policy_control immersive.navigation=*
Natuurlijk kun je met AutoTools dit soort shell-opdrachten niet rechtstreeks verzenden, maar in plaats daarvan verzend je de opdracht via de interface ervan. Selecteer gewoon "Aangepaste instelling" in AutoTools Secure Instellingen, stel het instellingstype in op "algemeen", stel het "Invoertype" in op "String" en voor de Naam moet u "policy_control immersive.status=*" of "policy_control" invoeren immersive.navigation=*". U kunt deze opdracht gebruiken in plaats van de opdracht die we hebben gebruikt voor de Nougat-tegel of de bediening per app als u er de voorkeur aan geeft dat de Immersive-modus een van de statusbalk of navigatiebalk verbergt.
Downloaden en importeren in Tasker
Zoals altijd leveren we het XML-bestand van het script dat u kunt downloaden en importeren. Download het bestand eenvoudig via de onderstaande link en sla het overal op uw interne opslag op. Open Tasker en schakel de Beginnersmodus uit in Voorkeuren. Ga vervolgens terug naar het hoofdscherm en druk lang op het tabblad “Profiel” bovenaan. Je zou een pop-up moeten zien met als een van de opties 'Importeren'. Tik daarop en blader naar waar u het .prf.xml-bestand hebt opgeslagen en selecteer dat bestand om te importeren.
Als u ervoor kiest om de meldingstegel te importeren, zorg er dan voor dat u het Immersive Mode-pictogram opslaat als immersive.png en sla het op in /sdcard/Tasker. Als u ervoor kiest om het Per-App-profiel te importeren, zorg er dan voor dat u naar binnen gaat en de applicaties aanpast waarop het wordt geactiveerd, aangezien mijn voorbeeld is ingesteld om alleen te worden geactiveerd bij gebruik van Chrome of XDA Labs.
Download de meldingstegel Meeslepende modusschakelaar
Download het per-app meeslepende modus-schakelprofiel
We hopen dat je deze tip nuttig vindt. Laat ons in de reacties hieronder weten of dit voor jou werkt!