En veiledning om hvordan du kopierer de stedsbaserte funksjonene til Googles Smart Lock på Huawei- eller Honor-enheter som kjører EMUI.
Hvis du aldri har eid en Huawei- eller Honor-enhet, så ser du sannsynligvis på tittelen og sier "he?" Tross alt er Smart Lock en funksjon introdusert tilbake i Android 5.0 Lollipop for å gjøre det enklere å få rask tilgang til enheten din under visse betingelser for eksempel plassering, når du er koblet til bestemte enheter, mens du er i lommen eller når du gjenkjenner stemmen din.
En slik funksjon er normalt neppe verdt å diskutere gitt at det er over to år siden Lollipop ble utgitt, og det faktum at omtrent 65 % av alle Android-enheter kjører på Android 5.0+. Vi mistenker at andelen brukere på forumene våre som kjører minst Lollipop er mye, mye høyere, selv om vi ikke har noen eksakt statistikk på det. I alle fall har Googles Smart Lock-funksjon blitt så vanlig blant Android-enheter at tredjepartsapplikasjoner som tilbyr denne funksjonaliteten har stort sett vært forlatt, fordi de ikke ser poenget med å konkurrere med funksjonen.
Men det er ett sett med brukere som sitter igjen med en kastrert versjon av Smart Lock: brukere med en Huawei eller Honor-enhet kjører EMUI. Uansett grunn gir EMUI ikke de samme Smart Lock-funksjonene som de fleste andre Android 5.0+-enheter tilbyr. I stedet lar EMUI deg bare låse opp enheten automatisk hvis den er koblet til visse Bluetooth-enheter.
Selv om det absolutt er nyttig hvis du eier en Bluetooth-bærbar enhet, for eksempel en smartklokke eller treningsbånd, har ikke alle en bærbar enhet alltid koblet til smarttelefonen. Huaweis utelukkelse av Googles Smart Lock-funksjon er helt klart bevisst, for selv om du aktiverer Smart Lock som en «trusted agent» i Android, klarer du ikke å faktisk bruke funksjonen.
I utgangspunktet sitter du fast med Huaweis "Smart" Lock-funksjon, som tilbyr færre funksjoner enn Googles Smart Lock. Dine eneste alternativer som Huawei/Honor-enhetseier er å prøve en av de mange alternativene i Play Store som hevder å legge til denne funksjonen (ingen av dem har noen gang fungert på enheten min), eller å rote telefonen din og Last ned en Xposed-modul. Mangelen på anstendige alternativer for EMUI har selvfølgelig drevet meg til å skrive denne opplæringen. Med litt Tasker-magi og en plug-in kalt AutoTools, kan vi låse opp enhver Huawei- eller Honor-enhet automatisk basert på plassering uten å trenge root.
Smart Lock for Huawei/Honor-enheter
Det er bare to applikasjoner som trengs for å få denne funksjonen i gang. Den første er Tasker, det utrolig populære Android-automatiseringsverktøyet som vi i XDA ofte bruker for å løse problemer som spenner fra det mest dagligdagse til utrolig komplekse. For $2,99 kan det virke unødvendig å kjøpe denne applikasjonen for noe så enkelt, men verdien som denne applikasjonen kan gi er enorm, hvis du er villig til å gå gjennom noen opplæringsprogrammer. Deretter trenger du betaversjonen av en Tasker-plugin kjent som Autoverktøy. Denne plugin-modulen legger til massevis av nyttige funksjoner til Tasker sitt opprinnelige verktøysett, og spesielt vil vi trenge en funksjon av AutoTools kjent som Secure Settings for å nå målet vårt.
Det vi skal gjøre er å endre en egenskap på enheten vår som styrer tidtakeren som Android bruker til å bestemme når låseskjermen skal vises etter at telefonen har gått ut. En "time out" her refererer til enten når telefonens skjerm slås av etter X minutter med inaktivitet eller når brukeren manuelt slår av skjermen ved å trykke på strømknappen. Etter en viss tid (som strekker seg fra umiddelbart etter at enheten går i dvale, opptil 30 minutter etter at den har gått inn i dvalemodus), vil Android vise låseskjermen.
Problemet med disse to funksjonene er at som standard kan økning av "automatisk lås"-timeren potensielt være et sikkerhetsproblem, fordi hvis enheten din sveipes innenfor tidsvinduet der låseskjermen ennå ikke er aktivert, vil en tyv ha tilgang til hele innholdet på enhet. For å dempe dette, tilbyr Android en "strømknapp låser enheten umiddelbart", slik at du umiddelbart kan aktivere låseskjermen ved å trykke på strømknappen. Men, og spesielt hvis du har satt en kort skjermtidsavbrudd, er det lett å glemme å gjøre dette, så du fortsatt er åpen for å ha enheten din åpnet av ondsinnede tredjeparter hvis du ved et uhell lar enheten timeout på et bord eller i lommen uten å trykke på strømmen manuelt knapp.
Derfor er løsningen vår på dette problemet å knytte en lengre "automatisk lås"-timer ikke til strømknappen, som krever manuell intervensjon, men i stedet til plassering/WiFi. Den veien, du kan glede deg over å bruke enheten din uten låseskjerm mens du er komfortabel i ditt eget hjem, men vær trygg på at låseskjermens pin/passord alltid vil være synlig når du er borte fra hjem. Nå som vi har forklart hva vi gjør, her er hvordan det faktisk gjøres.
Opplæringen
Som nevnt før, skal vi endre en viss systemegenskap. Denne egenskapen er definert under Innstillinger. Sikker klasse med navnet lock_screen_lock_after_timeout, og den aksepterer heltallsverdier i millisekunder. For å endre denne verdien, må vi gi AutoTools en bestemt tillatelse slik at den kan skrive til disse innstillingene uten å trenge root-tilgang.
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 nesten hvilken som helst tillatelse til enhver applikasjon vi ønsker (forutsatt at applikasjonen ber om den 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. Uansett, vi går videre og viser deg hvordan du bruker AutoTools til å kontrollere tidsavbruddet for låseskjermen.
Trinn 2 - Sette opp Tasker
Åpne Tasker og trykk på + ikonet nederst til høyre for å opprette en ny profil. Gi den nye profilen et navn som "Automatisk lås" eller hva du vil, egentlig. For typen kontekst vi skal bruke, velg Stat. Gå til Nett --> WiFi tilkoblet. Her vil vi velge WiFi-nettverkene som vi vil hvitliste for automatisk opplåsing av enheten. Slå den forstørrelsesglass og velg alle WiFi-nettverkene du vil ha hvitelistet.
Valgfri: Hvis du ønsker å lage en virkelig stedsbasert Smart Lock (i stedet for bare basert på WiFi-nettverk), så kan du bruke "Location"-konteksten i Tasker i stedet for Staten --> Nett --> WiFi Connected trekk. Legg merke til at Tasker ikke lager geo-gjerder, så batteriforbruket blir dårligere med denne metoden. Hvis du vil få Tasker til å reagere på mer batterieffektive geo-gjerder, må du installere AutoLocation plugg inn.
Gå tilbake, og du vil deretter bli bedt om å opprette en oppgave. Skriv inn et hvilket som helst navn (eller ingen er i orden) for å komme til skjermbildet Oppretting av oppgaver. trykk + ikonet nederst i midten for å legge til en ny handling. Gå til Plugin --> Autoverktøy --> Sikre innstillinger. Slå den blyant ikonet for å åpne AutoTools Secure Setting-konfigurasjonsskjermbildet. Gå til Låseskjerm --> Automatisk lås og for verdien skriv inn en tilstrekkelig høy verdi som '9001'. Dette er verdien, i sekunder, som AutoTools vil sette den automatiske låseskjerm-timeren til. Heldigvis for oss trenger vi ikke å rote med å manuelt sette en kommando for å endre lock_screen_lock_after_timeout verdi, ettersom utvikleren av AutoTools har implementert denne funksjonen for oss i en fin GUI.
Lagre denne innstillingen ved å trykke på hakeikonet øverst, deretter trykke tilbake-tasten en gang tilbake i Tasker, og til slutt ved å gå ut av oppgaveopprettingsskjermen. Når du har gjort det, vil Tasker nå automatisk holde enheten ulåst i veldig lang tid mens du er hjemme. Sørge for at "strømknappen låser enheten umiddelbart" er funksjonshemmet i sikre låseinnstillinger, ellers når du trykker på strømknappen mens du er hjemme, vil telefonens låseskjerm aktiveres som ikke er det du ønsker!
Til slutt må vi legge til en annen oppgave som utløses når vi forlater noen av de hvitelistede WiFi-nettverkene. På Tasker-hovedsiden, lang trykk på Oppgave du nettopp opprettet og trykk legg til avslutningsoppgave i hurtigmenyen. Gi denne oppgaven et navn, og gå inn på oppgaveopprettingsskjermen igjen. Her trykker du på + ikonet og igjen gå til Plugin --> Autoverktøy --> Sikre innstillinger. I det samme alternativet for automatisk lås, skriv denne gangen inn en verdi på 0. Når du forlater WiFi-nettverket ditt, vil Tasker ikke lenger forsinke at låseskjermen vises etter at telefonen har gått ut.
Valgfri: Legg til en ny handling ved å trykke på + ikon, men denne gangen gå til Skjerm --> Systemlås. Denne handlingen låser telefonen automatisk når du går ut av rekkevidden til de hvitelistede WiFi-nettverkene dine, bare i tilfelle du har en veldig lang tidsavbrudd for skjermen og telefonen din aldri går i dvale når du går hjemmefra. Hvis du gjør dette, må du gjøre Tasker til enhetsadministrator ved å gå til Innstillinger. Bare søk etter alternativet og gi Tasker tillatelsen.
Og det er det! Selv om denne opplæringen virker lang, er selve Tasker-skriptet i virkeligheten veldig enkelt. En totalsum på opptil 3 handlinger er nødvendig for å aktivere denne funksjonen. Gi dette en sjanse og fortell oss hvordan det fungerer for deg!