Kako omogućiti značajku Smart Lock na temelju lokacije na Huawei/Honor uređajima koji koriste EMUI

Vodič o tome kako replicirati značajke temeljene na lokaciji Google Smart Locka na Huawei ili Honor uređajima koji koriste EMUI.

Ako nikada niste imali Huawei ili Honor uređaj, onda vjerojatno gledate naslov i pitate se "a?" Uostalom, Smart Lock je značajka uvedena još u Android 5.0 Lollipop kako biste lakše pristupili svom uređaju pod određenim uvjetima kao što je lokacija, kada ste povezani s određenim uređajima, dok ste u džepu ili kada prepoznajete svoj glas.

O takvoj značajci obično teško da vrijedi raspravljati s obzirom na to da je prošlo više od dvije godine otkako je Lollipop objavljen, i činjenicu da približno 65% svih Android uređaja rade na Androidu 5.0+. Sumnjamo da je udio korisnika na našim forumima koji koriste barem Lollipop puno, puno veći, iako nemamo točnu statistiku o tome. U svakom slučaju, Googleova značajka Smart Lock postala je toliko uobičajena među Android uređajima da aplikacije trećih strana koje nude ovu funkciju imaju u velikoj mjeri bio napuštena, jer ne vide smisao u natjecanju sa značajkom.

Ali postoji jedan skup korisnika koji su ostali s kastrirana verzija Smart Locka: korisnici s a Huawei ili Honor uređaj pokrenut EMUI. Iz bilo kojeg razloga, EMUI ne pruža iste značajke Smart Locka koje nudi većina drugih uređaja sa sustavom Android 5.0+. Umjesto toga, EMUI vam omogućuje samo automatsko otključavanje uređaja ako je povezan s određenim Bluetooth uređajima.

Iako je svakako korisno ako posjedujete Bluetooth nosivi uređaj kao što je pametni sat ili remen za fitness, nema svatko nosivi uređaj uvijek povezan sa svojim pametnim telefonom. Huaweijevo isključenje Googleove značajke Smart Lock očito je namjerno, jer čak i ako omogućite Smart Lock kao "pouzdanog agenta" u Androidu, ne možete stvarno koristiti značajku.

Uglavnom, zapeli ste s Huaweijevom značajkom "Smart" Lock, koja nudi manje mogućnosti od Googleovog Smart Locka. Vaše jedine mogućnosti kao vlasnika Huawei/Honor uređaja su isprobati jednu od mnogih opcija u Trgovini Play koji tvrde da dodaju ovu značajku (nijedna od njih nikada nije radila na mom uređaju) ili da root-uju vaš telefon i preuzmite Xposed modul. Nedostatak pristojnih opcija za EMUI me naravno natjerao da napišem ovaj vodič. Uz malo Taskerove magije i dodatak koji se zove AutoTools, možemo automatski otključajte bilo koji Huawei ili Honor uređaj na temelju lokacije bez potrebe za rootom.


Smart Lock za Huawei/Honor uređaje

Za pokretanje ove značajke potrebne su samo dvije aplikacije. Prvi je Tasker, nevjerojatno popularan alat za automatizaciju Androida koji mi u XDA često koristimo za rješavanje problema u rasponu od najobičnijih do nevjerojatno složenih. Za 2,99 USD možda se čini nepotrebnim kupiti ovu aplikaciju za nešto tako jednostavno, ali vrijednost koju ova aplikacija može pružiti je ogromna, ako ste voljni proći kroz nekoliko tutorijala. Sljedeće, trebat će vam beta verzija Tasker dodatka poznatog kao AutoTools. Ovaj dodatak dodaje gomilu korisnih značajki izvornom alatu Taskera, a posebno će nam trebati funkcija AutoTools poznata kao Secure Settings da bismo postigli naš cilj.

Ono što ćemo učiniti jest modificirati svojstvo na našem uređaju koje kontrolira mjerač vremena koji Android koristi za određivanje kada treba prikazati zaključani zaslon nakon što telefon istekne. "Time out" se ovdje odnosi ili na to kada se zaslon vašeg telefona isključi nakon X minuta neaktivnosti ili kada korisnik ručno isključi zaslon pritiskom na tipku za napajanje. Nakon određenog vremena (u rasponu od odmah nakon što uređaj uđe u stanje mirovanja do 30 minuta nakon ulaska u način mirovanja), Android će prikazati zaključani zaslon.

Problem s ove dvije značajke je taj što prema zadanim postavkama povećanje mjerača vremena za "automatsko zaključavanje" potencijalno može biti sigurnosni problem, jer ako ako se vaš uređaj okrene unutar vremenskog okvira u kojem se zaključani zaslon još nije aktivirao, lopov će imati pristup cijelom sadržaju vašeg uređaj. Kako bi to ublažio, Android nudi opciju "gumb za uključivanje trenutno zaključava uređaj" tako da možete odmah aktivirati zaključani zaslon pritiskom na gumb za uključivanje. Međutim, a posebno ako ste postavili kratko vrijeme čekanja zaslona, ​​lako je zaboraviti to učiniti, tako da ste i dalje otvoreni za svoj uređaj pristupaju zlonamjerne treće strane ako slučajno pustite da uređaj istekne na stolu ili u džepu bez ručnog pritiskanja gumba za napajanje dugme.

Stoga je naše rješenje za ovaj problem vezati dulji mjerač vremena za "automatsko zaključavanje" ne na gumb za uključivanje, što zahtijeva ručnu intervenciju, već umjesto na lokaciju/WiFi. Onuda, možete uživati ​​u korištenju svog uređaja bez zaključanog zaslona dok ste u udobnosti vlastitog doma, ali budite uvjereni da će PIN/lozinka zaključanog zaslona uvijek biti vidljiva dok ste daleko od Dom. Sad kad smo objasnili što radimo, evo kako se to zapravo radi.


Tutorial

Kao što je prije spomenuto, modificirat ćemo određena svojstva sustava. Ovo svojstvo je definirano pod postavke. Sigurna klasa s imenom lock_screen_lock_after_timeout, i prihvaća cjelobrojne vrijednosti u milisekundama. Kako bismo izmijenili ovu vrijednost, trebat ćemo dodijeliti AutoToolsu određenu dozvolu kako bi mogao pisati u te postavke bez potrebe za root pristupom.

Pod Androidovim sustavom upravljanja dozvolama, aplikacije definiraju dozvole koje žele dobiti u datoteci manifesta. Korisnici tada mogu dati ili odbiti dopuštenja pri instalaciji (prije Marshmallow) ili na zahtjev (Marshmallow+). Međutim, postoje određena dopuštenja koja se aplikacijama ne mogu dati čak i ako to zatraže u Manifestu, kao što je WRITE_SECURE_SETTINGS. To je zato što bi davanje toliko moćne dozvole bilo kojoj aplikaciji dalo tonu kontrole nad vašim uređajem.

Ali postoji jedno zaobilazno rješenje koje možemo upotrijebiti za dodjelu dopuštenja WRITE_SECURE_SETTINGS bilo kojoj aplikaciji koju želimo. Korištenjem ADB-a upravitelj paketa (pm) alata, možemo dodijeliti gotovo bilo koje dopuštenje bilo kojoj aplikaciji koju želimo (pod uvjetom da aplikacija zahtijeva to dopuštenje u datoteci manifesta).

Prva stvar koju ćete morati učiniti je instalirajte ADB binarnu datoteku na vaše računalo nakon čega slijedi pravi upravljački program za vaš uređaj. Zatim omogućite USB Debugging u Developer Options (idite na Settings --> About Phone i dodirnite Build number 7 puta ako već niste) i povežite telefon s računalom. Na kraju, pošaljite sljedeću naredbu kada otvorite terminal:

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

Sada će AutoTools imati mogućnost mijenjanja bilo koje Globalne, Secure ili System postavke na vašem uređaju. Postoje različiti načini na koje se možete igrati s ovim postavkama i popisom dostupnih postavki svaka kategorija u potpunosti ovisi o vašem uređaju i verziji softvera, ali ta je rasprava za drugu temu vrijeme. U svakom slučaju, krenut ćemo dalje i pokazati vam kako koristiti AutoTools za kontrolu vremenskog ograničenja zaključanog zaslona.

Korak 2 - Postavljanje Taskera

Otvorite Tasker i pritisnite + ikonu u donjem desnom kutu za izradu novog profila. Nazovite svoj novi profil nekako poput "Automatsko zaključavanje" ili kako god želite, stvarno. Odaberite vrstu konteksta koju ćemo koristiti država. Ići Mreža --> WiFi povezan. Ovdje ćemo odabrati WiFi mreže koje želimo staviti na bijeli popis za automatsko otključavanje uređaja. Udari povećalo ikonu i odaberite sve WiFi mreže koje želite staviti na bijeli popis.

izborno: Ako želite napraviti Smart Lock koji se uistinu temelji na lokaciji (a ne samo na WiFi mrežama), tada možete koristiti kontekst "Lokacija" u Taskeru umjesto State --> Net --> WiFi Connected značajka. Imajte na umu da Tasker ne stvara geo-ograde, tako da će pražnjenje baterije biti gore s ovom metodom. Ako želite da Tasker reagira na geo-ograde s učinkovitijom baterijom, tada ćete morati instalirati AutoLocation uključiti.

Odmaknite se i od vas će se tražiti da izradite zadatak. Unesite bilo koje ime (ili nijedno nije u redu) da dođete do zaslona za izradu zadatka. pritisni + ikonu u donjoj sredini za dodavanje nove radnje. Ići Dodatak --> AutoTools --> Sigurne postavke. Udari olovka ikonu za otvaranje konfiguracijskog zaslona AutoTools Secure Setting. Ići Zaključavanje zaslona --> Automatsko zaključavanje a za vrijednost unesite bilo koju dovoljno visoku vrijednost kao što je '9001'. Ovo je vrijednost u sekundama na koju će AutoTools postaviti tajmer za automatsko zaključavanje zaslona. Na našu sreću, ne moramo se petljati s ručnim postavljanjem naredbe za izmjenu vrijednost lock_screen_lock_after_timeout, budući da je razvojni programer AutoToolsa implementirao ovu značajku za nas u lijepom GUI-u.

Spremite ovu postavku tako što ćete pritisnuti ikonu kvačice na vrhu, zatim jednom pritisnuti tipku za povratak u Taskeru i na kraju izaći iz zaslona za izradu zadatka. Nakon što to učinite, Tasker će sada automatski držati vaš uređaj otključanim jako dugo vremena dok ste kod kuće. Uvjerite se da "gumb za uključivanje trenutno zaključava uređaj" je onemogućeno u postavkama sigurnog zaključavanja, inače kada pritisnete tipku za napajanje dok ste kod kuće, aktivirat će se zaključani zaslon vašeg telefona, što nije ono što želite!

Konačno, morat ćemo dodati još jedan zadatak koji se pokreće kada napustimo bilo koju WiFi mrežu s bijele liste. Na glavnoj stranici Taskera, dugo pritisnite na Zadatak upravo ste stvorili i dodirnite dodaj izlazni zadatak u skočnom izborniku. Imenujte ovaj zadatak bilo kako i ponovno uđite u zaslon za izradu zadatka. Ovdje dodirnite + ikonu i ponovno idite na Dodatak --> AutoTools --> Sigurne postavke. U istoj opciji automatskog zaključavanja ovaj put unesite vrijednost od 0. Nakon što napustite WiFi mrežu, Tasker više neće odgađati prikazivanje zaključanog zaslona nakon što telefon istekne.

izborno: Dodajte drugu radnju pritiskom na + ikona, ali ovaj put idite na Zaslon --> Zaključavanje sustava. Ova će radnja automatski zaključati vaš telefon kada izađete iz dometa svojih WiFi mreža s bijele liste, samo u slučaju da imate stvarno dugo vremensko ograničenje prikaza i vaš telefon nikada ne prijeđe u stanje mirovanja kada izađete iz kuće. Ako to učinite, morat ćete postaviti Taskera za administratora uređaja odlaskom u Postavke. Samo potražite opciju i dajte Taskeru dopuštenje.

I to je to! Iako se ovaj vodič čini dugim, zapravo je sama Tasker skripta vrlo jednostavna. Za omogućavanje ove značajke potrebne su ukupno do 3 radnje. Isprobajte ovo i javite nam kako vam funkcionira!