Kuinka ottaa sijaintiin perustuva Smart Lock -ominaisuus käyttöön Huawei/Honor-laitteissa, joissa on EMUI

Opetusohjelma Googlen Smart Lockin sijaintiin perustuvien ominaisuuksien kopioimisesta Huawei- tai Honor-laitteissa, joissa on EMUI.

Jos et ole koskaan omistanut Huawei- tai Honor-laitetta, katsot todennäköisesti otsikkoa ja kysyt "huh?" Loppujen lopuksi Smart Lock on ominaisuus, joka esiteltiin takaisin Android 5.0 Lollipop helpottaaksesi laitteen nopeaa käyttöä tietyin edellytyksin kuten sijainti, kun olet yhteydessä tiettyihin laitteisiin, ollessasi taskussasi tai kun tunnistat äänesi.

Tällaisesta ominaisuudesta ei yleensä kannata keskustella, koska Lollipopin julkaisusta on kulunut yli kaksi vuotta ja se, että noin 65 % kaikista Android-laitteista käytössä Android 5.0+. Epäilemme, että foorumeillamme vähintään Lollipoppia käyttävien käyttäjien osuus on paljon, paljon suurempi, vaikka meillä ei ole siitä tarkkoja tilastoja. Joka tapauksessa Googlen Smart Lock -ominaisuudesta on tullut niin yleinen Android-laitteiden keskuudessa, että tätä toimintoa tarjoavat kolmannen osapuolen sovellukset ovat suurelta osin ollut hylätty, koska he eivät näe järkeä kilpailla ominaisuuden kanssa.

Mutta yksi joukko käyttäjiä jää jäljelle a Smart Lockin steriloitu versio: käyttäjät, joilla on a Huawei tai Honor laite käytössä EMUI. Jostain syystä EMUI ei tarjoa samoja Smart Lock -ominaisuuksia kuin useimmat muut Android 5.0+ -laitteet. Sen sijaan EMUI sallii sinun avata laitteesi lukituksen automaattisesti vain, jos se on yhdistetty tiettyihin Bluetooth-laitteisiin.

Vaikka se on varmasti hyödyllistä, jos omistat puettavan Bluetooth-laitteen, kuten älykellon tai kuntorannekkeen, kaikilla ei ole puettavaa laitetta aina yhdistettynä älypuhelimeesi. Huawei sulkee pois Googlen Smart Lock -ominaisuuden on selvästi tarkoituksellista, koska vaikka otat Smart Lockin käyttöön "luotettavana agenttina" Androidissa, et voi käyttää ominaisuutta todellisuudessa.

Pohjimmiltaan olet jumissa Huawein "Smart" Lock -ominaisuuden kanssa, joka tarjoaa vähemmän ominaisuuksia kuin Googlen Smart Lock. Ainoat vaihtoehdot Huawei/Honor-laitteen omistajana on kokeilla jotakin Play Kaupan monista vaihtoehdoista jotka väittävät lisäävänsä tämän ominaisuuden (joista mikään ei ole koskaan toiminut laitteellani) tai roottattavansa puhelimesi ja lataa Xposed-moduuli. Kunnollisten vaihtoehtojen puute EMUI: lle on tietysti saanut minut kirjoittamaan tämän opetusohjelman. Pienellä Tasker-taikuudella ja AutoTools-laajennuksella voimme avaa automaattisesti minkä tahansa Huawei- tai Honor-laitteen lukituksen sijainnin perusteella ilman rootin tarvetta.


Smart Lock Huawei/Honor-laitteille

Tämän ominaisuuden käyttöönottamiseksi tarvitaan vain kaksi sovellusta. Ensimmäinen on Tasker, uskomattoman suosittu Android-automaatiotyökalu, jota me XDA: ssa käytämme usein ratkaisemaan ongelmia, jotka vaihtelevat arkipäiväisistä uskomattoman monimutkaisiin. 2,99 dollarilla saattaa tuntua tarpeettomalta ostaa tämä sovellus jostain niin yksinkertaisesta syystä, mutta tämän sovelluksen arvo on valtava, jos olet valmis käydä läpi muutama opetusohjelma. Seuraavaksi tarvitset Beta-version Tasker-laajennuksesta, joka tunnetaan nimellä AutoTools. Tämä laajennus lisää paljon hyödyllisiä ominaisuuksia Taskerin alkuperäiseen työkalupakettiin, ja erityisesti tarvitsemme AutoTools-toiminnon, joka tunnetaan nimellä Secure Settings tavoitteemme saavuttamiseksi.

Aiomme muokata laitteemme ominaisuutta, joka ohjaa ajastinta, jonka avulla Android määrittää, milloin lukitusnäyttö näytetään puhelimen aikakatkaisun jälkeen. "Aikakatkaisu" tarkoittaa tässä joko sitä, että puhelimesi näyttö sammuu X minuutin käyttämättömyyden jälkeen tai kun käyttäjä sammuttaa näytön manuaalisesti painamalla virtapainiketta. Android näyttää lukitusnäytön tietyn ajan kuluttua (välittömästi sen jälkeen, kun laite on siirtynyt lepotilaan, jopa 30 minuuttia lepotilaan siirtymisen jälkeen).

Näiden kahden ominaisuuden ongelmana on, että oletusarvoisesti "automaattisen lukituksen" ajastimen lisääminen voi olla tietoturvaongelma, koska jos laitettasi pyyhkäistään sen ajan sisällä, jolloin lukitusnäyttö ei ole vielä aktivoitunut, varas pääsee käsiksi koko sisältösi laite. Tämän lieventämiseksi Android tarjoaa "virtapainike lukitsee laitteen välittömästi" -vaihtoehdon, joten voit aktivoida lukitusnäytön välittömästi painamalla virtapainiketta. Kuitenkin, varsinkin jos olet asettanut lyhyen näytön aikakatkaisun, tämä on helppo unohtaa, joten olet silti avoin laitteellesi haitalliset kolmannet osapuolet pääsevät käsiksi, jos annat laitteen aikakatkaista vahingossa pöydällä tai taskussa painamatta virtaa manuaalisesti -painiketta.

Siksi ratkaisumme tähän ongelmaan on sitoa pidempi "automaattisesti lukittuva" ajastin ei virtapainikkeeseen, mikä vaatii manuaalista puuttumista, vaan sen sijaan sijaintiin/WiFi-verkkoon. Siten, voit nauttia laitteesi käyttämisestä ilman lukitusnäyttöä ollessasi mukavasti kotonasi, mutta voit olla varma, että lukitusnäytön PIN-koodi/salasana on aina näkyvissä, kun olet poissa Koti. Nyt kun olemme selittäneet, mitä teemme, tässä on, miten se itse asiassa tehdään.


Opetusohjelma

Kuten aiemmin mainittiin, aiomme muokata tiettyä järjestelmän ominaisuutta. Tämä ominaisuus on määritelty kohdassa Asetukset. Turvallinen luokka nimen kanssa lock_screen_lock_after_timeout, ja se hyväksyy kokonaislukuarvot millisekunteina. Tämän arvon muokkaamiseksi meidän on myönnettävä AutoToolsille tietty käyttöoikeus, jotta se voi kirjoittaa näihin asetuksiin ilman pääkäyttäjän oikeuksia.

Androidin käyttöoikeuksien hallintajärjestelmässä sovellukset määrittävät käyttöoikeudet, jotka niille haluavat myöntää Manifest-tiedostossa. Käyttäjät voivat sitten myöntää tai evätä käyttöoikeudet asennuksen yhteydessä (pre-Marshmallow) tai pyynnöstä (Marshmallow+). On kuitenkin olemassa tiettyjä lupia, joita sovelluksille ei voida myöntää, vaikka ne pyytäisivät sitä manifestissa, kuten esim WRITE_SECURE_SETTINGS. Tämä johtuu siitä, että myöntämällä mille tahansa sovellukselle niin tehokkaan luvan kuin tämä antaisi kyseiselle sovellukselle paljon hallintaa laitteeseesi.

Mutta on yksi ratkaisu, jonka avulla voimme myöntää WRITE_SECURE_SETTINGS-luvan mille tahansa haluamamme sovellukselle. Käyttämällä ADB: tä paketinhallinta (pm) -työkalulla, voimme myöntää melkein minkä tahansa luvan mille tahansa haluamamme sovellukselle (edellyttäen, että sovellus pyytää tätä lupaa Manifest-tiedostossa).

Ensimmäinen asia, joka sinun on tehtävä, on Asenna ADB-binaari tietokoneellesi ja sen jälkeen oikea ohjain laitteellesi. Ota sitten käyttöön USB-virheenkorjaus Kehittäjäasetuksissa (siirry kohtaan Asetukset -> Tietoja puhelimesta ja napauta Rakennusnumero 7 kertaa, jos et ole jo tehnyt niin) ja yhdistä puhelimesi tietokoneeseen. Lähetä lopuksi seuraava komento, kun olet avannut terminaalin:

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

Nyt AutoToolsilla on mahdollisuus muuttaa mitä tahansa yleistä, suojattua tai järjestelmäasetusta laitteessasi. Voit pelata näillä asetuksilla ja käytettävissä olevien asetusten luettelolla usealla eri tavalla jokainen luokka riippuu täysin laitteestasi ja ohjelmistoversiostasi, mutta tämä keskustelu on toista varten aika. Joka tapauksessa näytämme sinulle, kuinka voit ohjata lukitusnäytön aikakatkaisua AutoToolsin avulla.

Vaihe 2 - Taskerin määrittäminen

Avaa Tasker ja paina + -kuvaketta oikeassa alakulmassa luodaksesi uuden profiilin. Nimeä uusi profiilisi esimerkiksi "Automaattinen lukitus" tai miksi haluat. Valitse käyttämämme kontekstin tyyppi Osavaltio. Mene Net -> WiFi yhdistetty. Täällä valitsemme WiFi-verkot, jotka haluamme sallia laitteen lukituksen avaamiseksi automaattisesti. Lyö suurennuslasi -kuvaketta ja valitse kaikki WiFi-verkot, jotka haluat lisätä sallittujen luetteloon.

Valinnainen: Jos haluat tehdä todella sijaintiin perustuvan Smart Lockin (eikä pelkästään WiFi-verkkoihin perustuvan), sitten voit käyttää "Sijainti"-kontekstia Taskerissa tila -> Net -> WiFi-yhteyden sijaan ominaisuus. Huomaa, että Tasker ei luo geo-aitoja, joten akun tyhjeneminen on huonompi tällä menetelmällä. Jos haluat, että Tasker reagoi akkutehokkaampiin geo-aidoihin, sinun on asennettava AutoLocation kytkeä.

Palaa ulos, ja sinua pyydetään seuraavaksi luomaan tehtävä. Kirjoita mikä tahansa nimi (tai ei mitään) päästäksesi Tehtävän luontinäyttöön. paina + -kuvaketta alaosassa keskellä lisätäksesi uuden toiminnon. Mene Plugin --> AutoTools --> Secure Settings. Lyö lyijykynä -kuvaketta avataksesi AutoTools Secure Setting -määritysnäytön. Mene Lukitusnäyttö --> Automaattinen lukitus ja anna arvolle mikä tahansa riittävän suuri arvo, kuten "9001'. Tämä on sekunteina ilmoitettu arvo, johon AutoTools asettaa automaattisen lukitusnäytön ajastimen. Onneksi meidän ei tarvitse sotkea manuaalisesti komennon muokkaamista varten lock_screen_lock_after_timeout-arvo, koska AutoToolsin kehittäjä on ottanut tämän ominaisuuden käyttöön puolestamme hienossa käyttöliittymässä.

Tallenna tämä asetus painamalla ylhäällä olevaa valintamerkkikuvaketta, painamalla sitten Takaisin-näppäintä kerran takaisin Taskerissa ja lopuksi poistumalla Tehtävien luontinäytöstä. Kun olet tehnyt sen, Tasker pitää laitteesi nyt automaattisesti avattuna todella pitkään, kun olet kotona. Varmista että "virtapainike lukitsee laitteen välittömästi" On liikuntarajoitteinen suojatun lukituksen asetuksissa, muuten kun painat virtapainiketta kotona ollessasi, puhelimesi lukitusnäyttö aktivoituu, mikä ei ole sitä, mitä haluat!

Lopuksi meidän on lisättävä toinen tehtävä, joka laukeaa, kun poistumme jostakin valkoisen luettelon WiFi-verkoista. Taskerin pääsivulla pitkä painallus päällä Tehtävä juuri loit ja napauta lisää poistumistehtävä ponnahdusvalikossa. Nimeä tämä tehtävä mikä tahansa ja siirry uudelleen Tehtävän luontinäyttöön. Napauta tässä + -kuvake ja siirry uudelleen kohtaan Plugin --> AutoTools --> Secure Settings. Syötä tällä kertaa samaan Automaattinen lukitus -vaihtoehtoon arvo 0. Kun poistut WiFi-verkosta, Tasker ei enää viivytä lukitusnäyttöä puhelimen aikakatkaisun jälkeen.

Valinnainen: Lisää toinen toiminto painamalla + kuvaketta, mutta tällä kertaa siirry kohtaan Näyttö --> Järjestelmän lukitus. Tämä toiminto lukitsee puhelimesi automaattisesti, kun poistut sallittujen WiFi-verkkojesi kantamasta, vain siltä varalta, että näytön aikakatkaisu on todella pitkä ja puhelin ei koskaan mene nukkumaan, kun lähdet kotoa. Jos teet tämän, sinun on tehtävä Taskerista laitteen järjestelmänvalvoja siirtymällä Asetuksiin. Etsi vain vaihtoehto ja myönnä Taskerille lupa.

Ja siinä se! Vaikka tämä opetusohjelma näyttää pitkältä, itse Tasker-skripti on hyvin yksinkertainen. Tämän ominaisuuden käyttöönotto edellyttää yhteensä enintään 3 toimintoa. Kokeile tätä ja kerro meille, kuinka se toimii sinulle!