Kako omogočiti funkcijo Smart Lock na podlagi lokacije v napravah Huawei/Honor, ki uporabljajo EMUI

Vadnica o tem, kako posnemati funkcije Googlove pametne ključavnice, ki temeljijo na lokaciji, v napravah Huawei ali Honor, ki uporabljajo EMUI.

Če še nikoli niste imeli naprave Huawei ali Honor, potem verjetno ob pogledu na naslov pomislite "a?" Navsezadnje je Smart Lock funkcija, ki je bila predstavljena že v Android 5.0 Lollipop za lažji hiter dostop do vaše naprave pod določenimi pogoji kot je lokacija, ko ste povezani z določenimi napravami, ko ste v žepu ali ko prepoznate vaš glas.

O taki funkciji običajno ni vredno razpravljati, glede na to, da sta minili že več kot dve leti, odkar je bil Lollipop izdan, in dejstvo, približno 65 % vseh naprav Android delujejo v sistemu Android 5.0+. Sumimo, da je delež uporabnikov na naših forumih, ki uporabljajo vsaj Lollipop, veliko, veliko višji, čeprav o tem nimamo natančnih statističnih podatkov. V vsakem primeru je Googlova funkcija Smart Lock postala tako običajna med napravami Android, da aplikacije tretjih oseb, ki ponujajo to funkcijo imajo v veliki meri bil zapuščen, ker ne vidijo smisla v tekmovanju s funkcijo.

Vendar obstaja en niz uporabnikov, ki jim ostane a kastrirano različico Smart Lock: uporabniki z a Naprava Huawei ali Honor poganja EMUI. Iz katerega koli razloga EMUI ne nudi enakih funkcij Smart Lock, kot jih ponuja večina drugih naprav Android 5.0+. Namesto tega vam EMUI omogoča samo samodejno odklepanje naprave, če je povezana z določenimi napravami Bluetooth.

Čeprav je vsekakor uporabno, če imate nosljivo napravo Bluetooth, kot je pametna ura ali pašček za fitnes, nima vsakdo nosljive naprave vedno povezane s svojim pametnim telefonom. Huaweijeva izključitev Googlove funkcije Smart Lock je očitno namerna, saj tudi če omogočite Smart Lock kot "zaupanja vreden agent" v Androidu, funkcije ne morete dejansko uporabljati.

V bistvu ste obtičali s Huaweijevo funkcijo »Smart« Lock, ki ponuja manj funkcij kot Googlova Smart Lock. Vaša edina možnost kot lastnik naprave Huawei/Honor je, da preizkusite eno od številnih možnosti v Trgovini Play ki trdijo, da dodajajo to funkcijo (nobena od njih nikoli ni delovala na moji napravi) ali da rootajo vaš telefon in prenesite modul Xposed. Pomanjkanje spodobnih možnosti za EMUI me je seveda spodbudilo k pisanju te vadnice. Z malo čarovnije Tasker in vtičnikom, imenovanim AutoTools, lahko samodejno odklene katero koli napravo Huawei ali Honor na podlagi lokacije, ne da bi potreboval root.


Smart Lock za naprave Huawei/Honor

Za zagon te funkcije sta potrebni samo dve aplikaciji. Prvi je Tasker, neverjetno priljubljeno orodje za avtomatizacijo Androida, ki ga pri XDA pogosto uporabljamo za reševanje težav, od najbolj vsakdanjih do neverjetno zapletenih. Pri 2,99 USD se morda zdi nepotreben nakup te aplikacije za nekaj tako preprostega, vendar je vrednost, ki jo lahko zagotovi ta aplikacija, ogromna, če ste pripravljeni preglejte nekaj vaj. Nato boste potrebovali različico beta vtičnika Tasker, znanega kot AutoTools. Ta vtičnik Taskerjevemu izvirnemu kompletu orodij doda kup uporabnih funkcij, še posebej pa bomo potrebovali funkcijo AutoTools, znano kot Varne nastavitve, da dosežemo svoj cilj.

Naredili bomo spremembo lastnosti v naši napravi, ki nadzoruje časovnik, ki ga Android uporablja za določanje, kdaj naj prikaže zaklenjeni zaslon, ko telefon poteče. "Časovna omejitev" se tukaj nanaša na to, da se zaslon vašega telefona izklopi po X minutah nedejavnosti ali ko uporabnik ročno izklopi zaslon s pritiskom na gumb za vklop. Po določenem času (ki sega od takoj po tem, ko naprava preklopi v stanje mirovanja, do 30 minut po vstopu v način mirovanja) bo Android prikazal zaklenjeni zaslon.

Težava s tema dvema funkcijama je, da je privzeto povečanje časovnika »samodejnega zaklepanja« lahko varnostna težava, ker če vašo napravo povlečete v časovnem oknu, ko se zaklenjeni zaslon še ni aktiviral, bo imel tat dostop do celotne vsebine vašega napravo. Da bi to ublažil, Android ponuja možnost »gumb za vklop takoj zaklene napravo«, tako da lahko takoj aktivirate zaklenjeni zaslon s pritiskom na gumb za vklop. Vendar, še posebej, če ste nastavili kratko časovno omejitev zaslona, ​​je na to zlahka pozabiti, tako da lahko še vedno imate svojo napravo do njih dostopajo zlonamerne tretje osebe, če po nesreči pustite časovno omejitev naprave na mizi ali v žepu, ne da bi ročno pritisnili gumb za vklop gumb.

Zato je naša rešitev te težave povezava daljšega časovnika za »samodejno zaklepanje« ne na gumb za vklop, ki zahteva ročno posredovanje, temveč na lokacijo/WiFi. na ta način, lahko uživate v uporabi svoje naprave brez zaklenjenega zaslona v udobju svojega doma, vendar bodite prepričani, da bo PIN/geslo za zaklenjeni zaslon vedno vidno, ko ste stran od domov. Zdaj, ko smo razložili, kaj počnemo, si oglejte, kako se to dejansko naredi.


Vadnica

Kot smo že omenili, bomo spremenili določeno lastnost sistema. Ta lastnost je opredeljena pod nastavitve. Varen razred z imenom lock_screen_lock_after_timeout, in sprejema celoštevilske vrednosti v milisekundah. Če želite spremeniti to vrednost, bomo morali AutoTools podeliti določeno dovoljenje, da lahko piše v te nastavitve, ne da bi potreboval korenski dostop.

V Androidovem sistemu za upravljanje dovoljenj aplikacije določijo dovoljenja, ki jih želijo dodeliti v datoteki Manifest. Uporabniki lahko nato dodelijo ali zavrnejo dovoljenja ob namestitvi (pred Marshmallow) ali na zahtevo (Marshmallow+). Vendar pa obstajajo določena dovoljenja, ki jih aplikacijam ni mogoče podeliti, tudi če to zahtevajo v Manifestu, kot npr WRITE_SECURE_SETTINGS. To je zato, ker bi podelitev tako zmogljivega dovoljenja kateri koli aplikaciji dala tej aplikaciji veliko nadzora nad vašo napravo.

Obstaja pa ena rešitev, ki jo lahko uporabimo za dodelitev dovoljenja WRITE_SECURE_SETTINGS kateri koli aplikaciji, ki jo želimo. Z uporabo ADB upravitelj paketov (pm) lahko podelimo skoraj vsako dovoljenje kateri koli aplikaciji, ki jo želimo (pod pogojem, da aplikacija to dovoljenje zahteva v datoteki Manifest).

Prva stvar, ki jo boste morali storiti, je namestite binarno datoteko ADB na vaš računalnik, ki mu sledi pravi gonilnik za vašo napravo. Nato v možnostih za razvijalce omogočite razhroščevanje USB (pojdite na Nastavitve --> O telefonu in se 7-krat dotaknite številke gradnje, če tega še niste storili) in povežite telefon z računalnikom. Na koncu pošljite naslednji ukaz, ko odprete terminal:

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

Zdaj bo AutoTools lahko spremenil vse globalne, varne ali sistemske nastavitve v vaši napravi. S temi nastavitvami in seznamom razpoložljivih nastavitev se lahko igrate na različne načine vsaka kategorija je popolnoma odvisna od vaše naprave in programske opreme, vendar je ta razprava za drugo čas. V vsakem primeru vam bomo pokazali, kako uporabljati AutoTools za nadzor časovne omejitve zaklenjenega zaslona.

2. korak - Nastavitev Taskerja

Odprite Tasker in pritisnite + ikono v spodnjem desnem kotu, da ustvarite nov profil. Poimenujte svoj novi profil nekako na primer »Samodejno zaklepanje« ali karkoli že želite. Za vrsto konteksta, ki ga bomo uporabili, izberite Država. Pojdi do Omrežje --> WiFi vzpostavljena povezava. Tukaj bomo izbrali omrežja WiFi, ki jih želimo dodati na beli seznam za samodejno odklepanje naprave. Udari povečevalno steklo ikono in izberite vsa omrežja WiFi, ki jih želite uvrstiti na beli seznam.

Neobvezno: Če želite ustvariti pametno ključavnico, ki resnično temelji na lokaciji (namesto samo na omrežjih WiFi), potem lahko uporabite kontekst "Lokacija" v Taskerju namesto State --> Net --> WiFi Connected funkcija. Upoštevajte, da Tasker ne ustvarja geo-ograd, zato bo s to metodo poraba baterije slabša. Če želite, da se Tasker odzove na geo-ograje z učinkovitejšo baterijo, boste morali namestiti AutoLocation vključiti.

Vrnite se in naslednjič boste pozvani, da ustvarite nalogo. Vnesite poljubno ime (ali pa nobeno), da pridete do zaslona za ustvarjanje opravila. Pritisnite tipko + ikono na sredini spodaj, da dodate novo dejanje. Pojdi do Plugin --> AutoTools --> Secure Settings. Udari svinčnik ikono, da odprete konfiguracijski zaslon AutoTools Secure Setting. Pojdi do Zaklenjen zaslon --> Samodejno zaklepanje in za vrednost vnesite katero koli dovolj visoko vrednost, kot je '9001'. To je vrednost v sekundah, na katero AutoTools nastavi časovnik samodejnega zaklepanja zaslona. Na našo srečo se nam ni treba ubadati z ročnim nastavljanjem ukaza za spreminjanje vrednost lock_screen_lock_after_timeout, saj je razvijalec AutoTools implementiral to funkcijo za nas v lepem GUI.

To nastavitev shranite tako, da pritisnete ikono kljukice na vrhu, nato enkrat pritisnete tipko za nazaj v Taskerju in nazadnje tako, da zaprete zaslon za ustvarjanje naloge. Ko to storite, bo Tasker samodejno pustil vašo napravo odklenjeno zelo dolgo časa, ko ste doma. Poskrbi da "gumb za vklop takoj zaklene napravo" je onemogočeno v nastavitvah varnega zaklepanja, drugače, ko pritisnete gumb za vklop, ko ste doma, se bo aktiviral zaklenjeni zaslon vašega telefona, kar ni tisto, kar želite!

Nazadnje bomo morali dodati še eno nalogo, ki se sproži, ko zapustimo katero koli od omrežij WiFi na belem seznamu. Na glavni strani Taskerja dolg pritisk na Naloga ste pravkar ustvarili in tapnite dodajte izhodno nalogo v pojavnem meniju. To opravilo poimenujte poljubno in znova odprite zaslon za ustvarjanje opravila. Tukaj se dotaknite + ikono in znova pojdite na Plugin --> AutoTools --> Secure Settings. V isto možnost Samodejno zaklepanje tokrat vnesite vrednost 0. Ko zapustite omrežje WiFi, Tasker ne bo več odložil prikaza zaklenjenega zaslona po izteku telefona.

Neobvezno: Dodajte drugo dejanje s pritiskom na + ikona, vendar tokrat pojdite na Zaslon --> Zaklepanje sistema. To dejanje bo samodejno zaklenilo vaš telefon, ko zapustite doseg svojih omrežij WiFi na belem seznamu, samo v primeru, da imate res dolgo časovno omejitev zaslona in vaš telefon nikoli ne preide v stanje pripravljenosti, ko greste od doma. Če to storite, boste morali Tasker nastaviti za skrbnika naprave v nastavitvah. Samo poiščite možnost in dodelite Taskerju dovoljenje.

In to je to! Čeprav se ta vadnica zdi dolga, je v resnici sam skript Tasker zelo preprost. Za omogočanje te funkcije so potrebna skupaj do 3 dejanja. Poskusite in nam povejte, kako deluje pri vas!