Cum să activați o funcție de blocare inteligentă bazată pe locație pe dispozitivele Huawei/Honor care rulează EMUI

Un tutorial despre cum să replicați funcțiile bazate pe locație ale Smart Lock de la Google pe dispozitivele Huawei sau Honor care rulează EMUI.

Dacă nu ați deținut niciodată un dispozitiv Huawei sau Honor, atunci probabil că vă uitați la titlu și spuneți „huh?” La urma urmei, Smart Lock este o caracteristică introdusă înapoi în Android 5.0 Lollipop pentru a facilita accesul rapid la dispozitiv sub anumite conditii cum ar fi locația, atunci când vă conectați la anumite dispozitive, când vă aflați în buzunar sau când vă recunoașteți vocea.

În mod normal, o astfel de caracteristică nu merită discutată, având în vedere că au trecut peste doi ani de când Lollipop a fost lansat și faptul că aproximativ 65% din toate dispozitivele Android rulează pe Android 5.0+. Bănuim că proporția utilizatorilor de pe forumurile noastre care rulează cel puțin Lollipop este mult, mult mai mare, deși nu avem statistici exacte în acest sens. În orice caz, funcția Smart Lock de la Google a devenit atât de comună printre dispozitivele Android încât aplicațiile terțe care oferă această funcționalitate

au în mare măsură fost abandonat, pentru că nu văd rostul să concureze cu caracteristica.

Dar există un set de utilizatori care au rămas cu un versiune sterilizată a Smart Lock: utilizatorii cu a dispozitiv Huawei sau Honor rulează EMUI. Indiferent de motiv, EMUI nu oferă aceleași funcții Smart Lock pe care le oferă majoritatea celorlalte dispozitive Android 5.0+. În schimb, EMUI vă permite să vă deblocați automat dispozitivul numai dacă este conectat la anumite dispozitive Bluetooth.

Deși cu siguranță util dacă dețineți un dispozitiv portabil Bluetooth, cum ar fi un ceas inteligent sau o bandă de fitness, nu toată lumea are un dispozitiv purtabil conectat întotdeauna la smartphone-ul lor. Excluderea de către Huawei a funcției Smart Lock de la Google este în mod clar deliberată, deoarece chiar dacă activați Smart Lock ca „agent de încredere” în Android, nu puteți utiliza efectiv funcția.

Practic, ai rămas blocat cu funcția „Smart” Lock de la Huawei, care oferă mai puține funcții decât Smart Lock de la Google. Singurele tale opțiuni ca proprietar de dispozitiv Huawei/Honor sunt să încerci una dintre numeroasele opțiuni din Magazinul Play care pretind să adauge această caracteristică (niciuna dintre acestea nu a funcționat vreodată pe dispozitivul meu) sau să vă rooteze telefonul și descărcați un modul Xposed. Lipsa opțiunilor decente pentru EMUI m-a determinat, desigur, să scriu acest tutorial. Cu puțină magie Tasker și un plug-in numit AutoTools, putem deblochează automat orice dispozitiv Huawei sau Honor în funcție de locație, fără a avea nevoie de root.


Smart Lock pentru dispozitivele Huawei/Honor

Sunt necesare doar două aplicații pentru a pune în funcțiune această funcție. Primul este Tasker, instrumentul de automatizare Android incredibil de popular pe care noi la XDA îl prezentăm frecvent pentru a rezolva probleme, de la cele mai banale la cele mai complexe. La 2,99 USD, ar putea părea inutil să achiziționați această aplicație pentru ceva atât de simplu, dar valoarea pe care o poate oferi această aplicație este enormă, dacă sunteți dispus să o faceți trece prin câteva tutoriale. În continuare, veți avea nevoie de versiunea beta a unui plug-in Tasker cunoscut ca AutoTools. Acest plug-in adaugă o mulțime de funcții utile setului de instrumente nativ al Tasker și, în special, vom avea nevoie de o funcție a AutoTools cunoscută sub numele de Setări Securizate pentru a ne îndeplini scopul.

Ceea ce vom face este să modificăm o proprietate de pe dispozitivul nostru care controlează temporizatorul pe care îl folosește Android pentru a determina când să afișeze ecranul de blocare după expirarea timpului de timp al telefonului. Un „time out” aici se referă fie la momentul în care ecranul telefonului dvs. se stinge după X minute de inactivitate, fie atunci când utilizatorul oprește manual afișajul apăsând butonul de pornire. După o anumită perioadă de timp (de la imediat după ce dispozitivul intră în modul de repaus până la 30 de minute după intrarea în modul de repaus), Android va afișa ecranul de blocare.

Problema cu aceste două caracteristici este că în mod implicit, creșterea temporizatorului de „blocare automată” poate fi o problemă de securitate, deoarece dacă dispozitivul dvs. este trecut în intervalul de timp în care ecranul de blocare nu s-a activat încă, un hoț va avea acces la întregul conținut al dvs. dispozitiv. Pentru a atenua acest lucru, Android oferă o opțiune „butonul de pornire blochează dispozitivul instantaneu”, astfel încât să puteți activa imediat ecranul de blocare apăsând butonul de pornire. Cu toate acestea, și mai ales dacă ați setat o perioadă scurtă de expirare a ecranului, este ușor să uitați să faceți acest lucru, așa că sunteți încă deschis să aveți dispozitivul dvs. accesat de terțe părți rău intenționate dacă lăsați accidental să expire timpul dispozitivului pe o masă sau în buzunar fără să apăsați manual pe pornire buton.

Prin urmare, soluția noastră la această problemă este să legam un cronometru mai lung „blocat automat” nu de butonul de pornire, care necesită intervenție manuală, ci de locație/WiFi. Astfel, vă puteți bucura de utilizarea dispozitivului fără un ecran de blocare în timp ce vă aflați în confortul propriei case, dar asigurați-vă că PIN-ul/parola ecranului de blocare va fi întotdeauna vizibil când sunteți departe de Acasă. Acum că am explicat ce facem, iată cum se face de fapt.


Tutorial

După cum am menționat anterior, vom modifica o anumită proprietate a sistemului. Această proprietate este definită sub Setări. Clasa sigura cu denumirea lock_screen_lock_after_timeoutși acceptă valori întregi în milisecunde. Pentru a modifica această valoare, va trebui să acordăm AutoTools o anumită permisiune, astfel încât să poată scrie în aceste setări fără a avea nevoie de acces root.

În cadrul sistemului de management al permisiunilor Android, aplicațiile definesc permisiunile pe care doresc să le fie acordate în fișierul Manifest. Utilizatorii pot apoi să acorde sau să refuze permisiuni la instalare (pre-Marshmallow) sau la cerere (Marshmallow+). Cu toate acestea, există anumite permisiuni pe care aplicațiile nu le pot fi acordate chiar dacă o solicită în Manifest, cum ar fi WRITE_SECURE_SETTINGS. Acest lucru se datorează faptului că acordarea oricărei aplicații o permisiune la fel de puternică ca aceasta ar oferi aplicației o mulțime de control asupra dispozitivului dvs.

Dar există o soluție pe care o putem folosi pentru a acorda permisiunea WRITE_SECURE_SETTINGS oricărei aplicații pe care o dorim. Prin utilizarea ADB-urilor manager de pachete (pm) instrument, putem acorda aproape orice permisiune oricărei aplicații pe care o dorim (cu condiția ca aplicația să solicite acea permisiune în fișierul Manifest).

Primul lucru pe care va trebui să-l faci este instalați binarul ADB pe computer, urmat de driverul potrivit pentru dispozitivul dvs. Apoi, activați Depanarea USB în Opțiuni pentru dezvoltatori (accesați Setări --> Despre telefon și atingeți Numărul de compilare de 7 ori dacă nu ați făcut-o deja) și conectați telefonul la computer. În cele din urmă, trimiteți următoarea comandă după ce ați deschis un terminal:

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

Acum AutoTools va avea capacitatea de a modifica orice setare globală, sigură sau de sistem de pe dispozitiv. Există diferite moduri în care vă puteți juca cu aceste setări și cu lista setărilor disponibile în fiecare categorie depinde complet de dispozitivul și versiunea software-ului dvs., dar această discuție este pentru alta timp. În orice caz, vom continua să vă arătăm cum să utilizați AutoTools pentru a controla timpul de expirare a ecranului de blocare.

Pasul 2 - Configurarea Tasker

Deschideți Tasker și apăsați pe + pictograma din colțul din dreapta jos pentru a crea un profil nou. Denumiți noul dvs. profil cum ar fi „Blocare automată” sau orice doriți, într-adevăr. Pentru tipul de Context pe care îl vom folosi, selectați Stat. Mergi la Net --> WiFi conectat. Aici, vom selecta rețelele WiFi pe care dorim să le punem pe lista albă pentru deblocarea automată a dispozitivului. Loveste lupă pictograma și selectați toate rețelele WiFi pe care doriți să fie incluse pe lista albă.

Opțional: Dacă doriți să faceți un Smart Lock bazat pe locație (mai degrabă decât doar bazat pe rețele WiFi), apoi puteți utiliza contextul „Locație” în Tasker în loc de Stat --> Net --> WiFi Conectat caracteristică. Rețineți că Tasker nu creează geo-garduri, deci consumul bateriei va fi mai rău cu această metodă. Dacă doriți ca Tasker să reacționeze la geo-garduri mai eficiente ale bateriei, atunci va trebui să instalați Localizare automată conecteaza.

Ieșiți înapoi și vi se va cere apoi să creați o sarcină. Introduceți orice nume (sau niciunul nu este în regulă) pentru a ajunge la ecranul de creare a sarcinii. apasă pe + pictograma din mijlocul de jos pentru a adăuga o nouă acțiune. Mergi la Plugin --> Instrumente automate --> Setări securizate. Loveste creion pictograma pentru a deschide ecranul de configurare AutoTools Secure Setting. Mergi la Ecran de blocare --> Blocare automată iar pentru valoare introduceți orice valoare suficient de mare, cum ar fi „9001'. Aceasta este valoarea, în secunde, la care AutoTools va seta temporizatorul ecranului de blocare automată. Din fericire pentru noi, nu trebuie să ne încurcăm cu setarea manuală a unei comenzi pentru a modifica valoarea lock_screen_lock_after_timeout, deoarece dezvoltatorul AutoTools a implementat această caracteristică pentru noi într-o interfață grafică frumoasă.

Salvați această setare apăsând pe pictograma bifă sus, apoi apăsând tasta înapoi o dată înapoi în Tasker și, în final, ieșind din ecranul de creare a sarcinii. Odată ce ați făcut asta, Tasker vă va menține automat dispozitivul deblocat pentru o perioadă foarte lungă de timp cât sunteți acasă. Asigura-te ca "butonul de pornire blochează instantaneu dispozitivul" este dezactivat în setările de blocare securizată, altfel când apăsați butonul de pornire în timp ce sunteți acasă, ecranul de blocare al telefonului se va activa, ceea ce nu este ceea ce doriți!

În cele din urmă, va trebui să adăugăm o altă sarcină care se declanșează atunci când părăsim oricare dintre rețelele WiFi pe lista albă. Pe pagina principală Tasker, apasare prelungită pe Sarcină tocmai ați creat și atingeți adăugați sarcină de ieșire în meniul pop-up. Denumiți orice sarcină și intrați din nou în ecranul de creare a sarcinii. Aici, atingeți + pictogramă și accesați din nou Plugin --> Instrumente automate --> Setări securizate. În aceeași opțiune de blocare automată, de data aceasta introduceți o valoare de 0. Odată ce părăsiți rețeaua WiFi, Tasker nu va mai întârzia afișarea ecranului de blocare după expirarea timpului telefonului.

Opțional: Adăugați o a doua acțiune apăsând pe butonul + pictogramă, dar de data aceasta mergeți la Afișare --> Blocare sistem. Această acțiune vă va bloca automat telefonul atunci când ieșiți din raza de acțiune a rețelelor WiFi aflate pe lista albă, doar în cazul în care aveți un timeout foarte lung de afișare și telefonul nu se culcă niciodată când plecați de acasă. Dacă faceți acest lucru, va trebui să îl faceți pe Tasker administrator de dispozitiv accesând Setări. Doar căutați opțiunea și acordați permisiunea lui Tasker.

Si asta e! În timp ce acest tutorial pare lung, în realitate scriptul Tasker în sine este foarte simplu. Este necesar un total de până la 3 acțiuni pentru a activa această funcție. Dați o șansă și spuneți-ne cum funcționează pentru dvs.!