Sådan aktiverer du en placeringsbaseret Smart Lock-funktion på Huawei/Honor-enheder, der kører EMUI

En tutorial om, hvordan man replikerer de placeringsbaserede funktioner i Googles Smart Lock på Huawei- eller Honor-enheder, der kører EMUI.

Hvis du aldrig har ejet en Huawei- eller Honor-enhed, så kigger du sikkert på titlen og siger "huh?" Smart Lock er trods alt en funktion, der er introduceret tilbage i Android 5.0 Lollipop for at gøre det nemmere at få hurtig adgang til din enhed under visse betingelser såsom placering, når du er tilsluttet bestemte enheder, mens du er i lommen, eller når du genkender din stemme.

En sådan feature er normalt næppe værd at diskutere, da det er over to år siden Lollipop blev udgivet, og det faktum, at cirka 65 % af alle Android-enheder kører på Android 5.0+. Vi har mistanke om, at andelen af ​​brugere på vores fora, der kører mindst Lollipop, er meget, meget højere, selvom vi ikke har nogen nøjagtig statistik på det. Under alle omstændigheder er Googles Smart Lock-funktion blevet så almindelig blandt Android-enheder, at tredjepartsapplikationer, der tilbyder denne funktionalitet

har stort set været forladt, fordi de ikke kan se meningen med at konkurrere med funktionen.

Men der er et sæt brugere, der står tilbage med en kastreret version af Smart Lock: brugere med en Huawei eller Honor enhed kører EMUI. Uanset årsagen giver EMUI ikke de samme Smart Lock-funktioner, som de fleste andre Android 5.0+-enheder tilbyder. I stedet giver EMUI dig kun mulighed for automatisk at låse din enhed op, hvis den er tilsluttet visse Bluetooth-enheder.

Selvom det helt sikkert er nyttigt, hvis du ejer en Bluetooth-bærbar, såsom et smartwatch eller fitnessbånd, er det ikke alle, der altid har en bærbar enhed forbundet til deres smartphone. Huaweis udelukkelse af Googles Smart Lock-funktion er helt klart bevidst, for selvom du aktiverer Smart Lock som en "trusted agent" i Android, er du ikke i stand til rent faktisk at bruge funktionen.

Dybest set sidder du fast med Huaweis "Smart" Lock-funktion, som tilbyder færre funktioner end Googles Smart Lock. Dine eneste muligheder som Huawei/Honor-enhedsejer er at prøve en af ​​de mange muligheder i Play Butik der hævder at tilføje denne funktion (hvoraf ingen nogensinde har fungeret på min enhed), eller at roote din telefon og download et Xposed-modul. Manglen på anstændige muligheder for EMUI har selvfølgelig drevet mig til at skrive denne tutorial. Med en lille smule Tasker-magi og et plug-in kaldet AutoTools kan vi lås automatisk enhver Huawei- eller Honor-enhed op baseret på placering uden at skulle bruge root.


Smart Lock til Huawei/Honor-enheder

Der er kun to programmer nødvendige for at få denne funktion op at køre. Den første er Tasker, det utroligt populære Android-automatiseringsværktøj, som vi hos XDA ofte har til at løse problemer lige fra det mest hverdagsagtige til utroligt komplekse. Til $2,99 kan det virke unødvendigt at købe denne applikation for noget så simpelt, men den værdi, som denne applikation kan give, er enorm, hvis du er villig til at gennemgå et par tutorials. Dernæst skal du bruge betaversionen af ​​et Tasker-plugin kendt som Autoværktøjer. Dette plug-in tilføjer et væld af nyttige funktioner til Tasker's oprindelige værktøjssæt, og vi har især brug for en funktion af AutoTools kendt som Secure Settings for at nå vores mål.

Det, vi skal gøre, er at ændre en ejendom på vores enhed, der styrer den timer, som Android bruger til at bestemme, hvornår låseskærmen skal vises, efter at telefonen har timeout. En "timeout" refererer her til enten, når din telefons skærm slukker efter X minutters inaktivitet, eller når brugeren manuelt slukker for skærmen ved at trykke på tænd/sluk-knappen. Efter et bestemt tidsrum (lige fra umiddelbart efter, at enheden går i dvale op til 30 minutter efter, at den er gået i dvaletilstand), viser Android låseskærmen.

Problemet med disse to funktioner er, at øgning af "automatisk lås"-timeren som standard potentielt kan være et sikkerhedsproblem, fordi hvis din enhed stryges inden for det tidsrum, hvor låseskærmen endnu ikke er aktiveret, vil en tyv have adgang til det fulde indhold af din enhed. For at afbøde dette tilbyder Android en "strømknap låser enheden øjeblikkeligt", så du straks kan aktivere låseskærmen ved at trykke på tænd/sluk-knappen. Men, og især hvis du har indstillet en kort skærmtimeout, er det nemt at glemme at gøre dette, så du stadig er åben for at have din enhed tilgås af ondsindede tredjeparter, hvis du ved et uheld lader enheden timeout på et bord eller i lommen uden manuelt at trykke på strømmen knap.

Derfor er vores løsning på dette problem at binde en længere "automatisk lås"-timer ikke til tænd/sluk-knappen, hvilket kræver manuel indgriben, men i stedet til placering/WiFi. Den vej, du kan nyde at bruge din enhed uden en låseskærm, mens du er i dit eget hjem, men vær sikker på, at låseskærmens pin/adgangskode altid vil være synlig, mens du er væk fra hjem. Nu hvor vi har forklaret, hvad vi laver, er det her, hvordan det rent faktisk gøres.


Tutorial

Som nævnt før, skal vi ændre en bestemt systemegenskab. Denne egenskab er defineret under Indstillinger. Sikker klasse med navnet lock_screen_lock_after_timeout, og den accepterer heltalsværdier i millisekunder. For at ændre denne værdi skal vi give AutoTools en bestemt tilladelse, så den kan skrive til disse indstillinger uden at have brug for root-adgang.

Under Androids tilladelsesstyringssystem definerer applikationer de tilladelser, de vil have tildelt i Manifest-filen. Brugere kan derefter give eller nægte tilladelser ved installation (præ-Marshmallow) eller efter anmodning (Marshmallow+). Der er dog visse tilladelser til, at ansøgninger ikke kan gives, selvom de anmoder om det i Manifestet, som f.eks WRITE_SECURE_SETTINGS. Dette skyldes, at hvis du giver enhver applikation en så kraftfuld tilladelse som dette, vil det give den app masser af kontrol over din enhed.

Men der er en løsning, som vi kan bruge til at give tilladelsen WRITE_SECURE_SETTINGS til enhver app, vi ønsker. Ved at bruge ADB'er pakkeansvarlig (pm) værktøj, kan vi give næsten enhver tilladelse til enhver applikation, vi ønsker (forudsat at applikationen anmoder om denne tilladelse i Manifest-filen).

Den første ting du skal gøre er installer ADB binær på din computer efterfulgt af den rigtige driver til din enhed. Aktiver derefter USB-fejlfinding i Udviklerindstillinger (gå til Indstillinger --> Om telefon, og tryk på Byg nummer 7 gange, hvis du ikke allerede har gjort det) og tilslut din telefon til din computer. Send endelig følgende kommando, når du har åbnet en terminal:

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

Nu vil AutoTools have mulighed for at ændre enhver Global, Secure eller System-indstilling på din enhed. Der er forskellige måder, du kan lege med disse indstillinger og listen over tilgængelige indstillinger på hver kategori afhænger fuldstændig af din enhed og software build, men den diskussion er for en anden tid. Under alle omstændigheder fortsætter vi med at vise dig, hvordan du bruger AutoTools til at styre låseskærmens timeout.

Trin 2 - Opsætning af Tasker

Åbn Tasker og tryk på + ikon i nederste højre hjørne for at oprette en ny profil. Navngiv din nye profil noget som "Automatisk lås" eller hvad du nu vil. For den type kontekst, vi vil bruge, skal du vælge Stat. Gå til Net --> WiFi tilsluttet. Her vil vi vælge de WiFi-netværk, som vi vil hvidliste for automatisk at låse enheden op. Tryk på forstørrelsesglas ikonet og vælg alle de WiFi-netværk, du vil have hvidlistet.

Valgfri: Hvis du vil lave en virkelig placeringsbaseret Smart Lock (i stedet for kun baseret på WiFi-netværk), så kan du bruge "Location"-konteksten i Tasker i stedet for Staten --> Net --> WiFi Connected funktion. Bemærk, at Tasker ikke opretter geo-hegn, så batteridræningen bliver værre med denne metode. Hvis du vil have Tasker til at reagere på mere batterieffektive geo-hegn, så skal du installere AutoLocation plug-in.

Gå tilbage, og du vil derefter blive bedt om at oprette en opgave. Indtast et hvilket som helst navn (eller ingen er i orden) for at komme til skærmbilledet til oprettelse af opgaver. Tryk på + ikonet nederst i midten for at tilføje en ny handling. Gå til Plugin --> Autoværktøjer --> Sikre indstillinger. Tryk på blyant ikonet for at åbne AutoTools Secure Setting-konfigurationsskærmen. Gå til Låse skærm --> Automatisk lås og for værdien skal du indtaste en tilstrækkelig høj værdi, såsom '9001'. Dette er den værdi, i sekunder, som AutoTools vil indstille den automatiske låseskærmstimer til. Heldigvis for os behøver vi ikke at rode med manuelt at indstille en kommando til at ændre lock_screen_lock_after_timeout værdi, da udvikleren af ​​AutoTools har implementeret denne funktion for os i en flot GUI.

Gem denne indstilling ved at trykke på fluebensikonet øverst, og derefter trykke på tilbage-tasten én gang tilbage i Tasker, og til sidst ved at forlade skærmbilledet til opgaveoprettelse. Når du har gjort det, vil Tasker nu automatisk holde din enhed ulåst i rigtig lang tid, mens du er hjemme. Sørg for at "tænd/sluk-knap låser enheden øjeblikkeligt"er handicappet i sikre låseindstillinger, ellers når du trykker på tænd/sluk-knappen, mens du er hjemme, aktiveres din telefons låseskærm, hvilket ikke er det, du ønsker!

Endelig bliver vi nødt til at tilføje en anden opgave, der udløses, når vi forlader et af de hvidlistede WiFi-netværk. På Tasker-hovedsiden, lang tryk på den Opgave du lige har oprettet og tryk på tilføje afslutningsopgave i pop op-menuen. Navngiv denne opgave hvad som helst, og gå igen ind i opgaveoprettelsesskærmen. Tryk her på + ikonet og igen gå til Plugin --> Autoværktøjer --> Sikre indstillinger. Indtast denne gang en værdi på i den samme automatiske låsemulighed 0. Når du forlader dit WiFi-netværk, vil Tasker ikke længere forsinke, at låseskærmen vises efter telefonens timeout.

Valgfri: Tilføj en anden handling ved at trykke på + ikon, men denne gang gå til Display --> Systemlås. Denne handling låser automatisk din telefon, når du forlader rækkevidden af ​​dine hvidlistede WiFi-netværk, bare hvis du har en rigtig lang skærmtimeout, og din telefon aldrig går i dvale, når du går hjemmefra. Hvis du gør dette, bliver du nødt til at gøre Tasker til en enhedsadministrator ved at gå til Indstillinger. Bare søg efter muligheden og giv Tasker tilladelsen.

Og det er det! Selvom denne tutorial virker lang, er Tasker-scriptet i virkeligheden meget simpelt. I alt op til 3 handlinger er nødvendige for at aktivere denne funktion. Prøv dette og fortæl os, hvordan det virker for dig!