Kaip priversti „OK Google“ aktyviųjų žodžių aptikimą veikti, kai ekranas išjungtas bet kuriame įrenginyje [Root]

Tai pamoka, kaip priversti bet kurį įsišaknijusį įrenginį įjungti „OK Google“ aktyvinamojo žodžio aptikimą, net jei jo aparatinė įranga nepalaiko šios funkcijos!

Kai pirmą kartą buvo paskelbtas „Moto X“ (2013), viena įdomiausių funkcijų (be aplinkos ekrano) buvo galimybė pažadinti balso komandas.

Vėliau pristatyta „Google Nexus“ įrenginiuose ir dabar prieinama daugelyje flagmanų, aktyviųjų žodžių atpažinimo galimybė yra a gana nuostabi funkcija, kai reikia greitai atlikti „Google“ paiešką nesiblaškant su įrenginiu rankas. Tai gali būti ypač naudinga, kai telefoną prijungėte prie automobilio ir jums reikia pradėti navigaciją į tam tikrą tikslą. „Google“ žemėlapių navigaciją naudoti balsu yra daug saugiau nei bet kurią kitą alternatyvą.

Deja, norint bet kada suaktyvinti „OK Google“ komandas, įrenginyje reikalingas specialus mažos galios balso atpažinimo lustas. Nors ši aparatinė įranga yra daugelyje įrenginių, jos yra ne visuose. Netgi galingi brangūs flagmanai, tokie kaip „Huawei Mate 9“, šio pasiūlymo nesiūlo. Tokiems įrenginiams, kaip mano, „Google“ siūlo galimybę suaktyvinti „OK Google“ balso komandas, kai ekranas įjungtas arba kai įrenginys prijungtas prie įkroviklio.

Prieš keletą metų buvo paraiška pavadinimu Atidarykite „Mic+“, skirtą „Google“ dabar kuri turėjo galimybę įjungti foninę paslaugą, kad ji visą laiką klausytų balso komandų. Deja, „Google“ paprašė kūrėjo nustoti naudotis paslauga, o kūrėjas nebeturėjo laiko palaikyti šios programos, todėl ji nukrito. Vienintelė esama galimybė yra naudoti „AutoVoice“., populiarus „Tasker“ įskiepis, tačiau tam reikia turėti pakankamai „Tasker“ žinių, kad galėtumėte nustatyti profilius, kurie reaguotų į konkrečias komandas.

Tiems iš jūsų, kurie norėtų pasikliauti „Google“ balso atpažinimo paslauga, radau sprendimą įgalina „Ok Google“ aktyvinamojo žodžio aptikimą bet kuriame įsišaknijusiame įrenginyje, net jei jo aparatinė įranga to nepalaiko. Yra du įspėjimai į šį triuką, kurį išsamiai aptarsime toliau.


„OK Google“ aktyviojo žodžio aptikimas bet kuriame įrenginyje

Klausimas, kurį uždaviau sau galvodamas apie šios problemos sprendimą:

Kaip galiu apgauti įrenginį, kad pagal mano komandą būtų įjungta aktyviojo žodžio atpažinimo paslauga?

Kadangi mano dabartinis telefonas iš esmės nepalaiko aktyvinamojo žodžio aptikimo, kai ekranas išjungtas, vienintelės sąlygos, kad tai veiktų, būtų tada, kai mano telefono ekranas įjungtas arba kai jis kraunamas. Žinoma, kadangi mano tikslas yra įgalinti aktyviojo žodžio aptikimą bet kuriuo metu (net ir tada, kai ekranas išjungtas), ekranas būtų įjungtas. Man taip pat būtų beprasmiška palikti įrenginį prijungtą, bet ką daryti, jei galėčiau triukas kad mano įrenginys atitiktų vieną iš šių dviejų sąlygų?

Laimei, naudojant šiek tiek šaknies magijos ir sumaniai naudojant derinimo komandas, tai labai įmanoma! Naudodamas debug shell komandą, skirtą testavimui, aš galiu apgauti mano įrenginį manyti, kad jis kraunasi net jei jis yra atjungtas nuo bet kokio maitinimo šaltinio. Komanda, kurią naudosime savo tikslams, yra dumpsys battery, apie kurių parametrus galite perskaityti šį Romano Mazuro tinklaraščio įrašą.

Pastaba: šis triukas yra visiškai saugus pasirodyti. Kaip minėta, ši komanda tik priverčia jūsų įrenginį manyti, kad jis kraunasi. Jis iš tikrųjų NĖRA įkraunamas, net jei akumuliatoriaus stebėjimo programos teigia kitaip (tai yra todėl, kad šios programos bus tiekiamos neteisinga informacija).

Ypač atkreiptinas dėmesys į dumpsys battery set komanda, kuri priima parametrus, leidžiančius nustatyti, ar įrenginys šiuo metu įkraunamas naudojant kintamosios srovės, USB ar belaidį įkrovimą. Pavyzdžiui, jei atidarome šakninį apvalkalą „Android“ ir įvesime šią komandą, prietaisas manys, kad jis įkraunamas naudojant kintamosios srovės maitinimą.

su
dumpsys battery set ac 1

Nustatę šią komandą (arba USB / belaidžio įkrovimo komandą), dabar galėsite tai padaryti suaktyvinkite OK Google komandas, kai ekranas išjungtas. Taip yra todėl, kad visais tikslais jūsų įrenginys „kraunasi“ – atitinka „Google“ aktyvinimo žodžių atpažinimo paslaugos suaktyvinimo reikalavimus.

Kadangi tai yra komanda, skirta derinti (daugiausia skirta kūrėjams išbandyti funkcionalumą esant skirtingoms akumuliatoriaus sąlygoms), ji turi tam tikrų trūkumų, kai naudojama tokiu būdu. Visų pirma yra du trūkumai, kuriuos aptarsime toliau. Pirmasis trūkumas yra gana nereikšmingas, tačiau to negalima pasakyti apie antrąjį trūkumą.

1 trūkumas – užšalusios baterijos indikatorius

Įvedus bet kurią komandą „dumpsys battery set“, „Android BatteryManager“ paslauga tai padarys nedelsiant nustokite rinkti daugiau duomenų apie akumuliatoriaus būseną. Tai reiškia, kad „Android“ sistema nebepraneš apie akumuliatoriaus lygį, temperatūrą, srovę, įtampą, būklę. Jie bus „užšaldyti“ laike tuo metu, kai įvedėte komandą.

Tačiau šie duomenys yra vis dar renkama sistemos net jei ji pasiekiama naudojant bet kurią programą. Jei norite gauti naujausią informaciją apie dabartinį akumuliatoriaus įkrovos lygį, turėsite šiek tiek apgauti. Laimei, duomenis gana lengva surinkti. Jei turite „Tasker“ ar kitą automatizavimo programą, tereikia sukurti pranešimą, kuris atnaujinamas bakstelėjus, dabartiniu tekstu, saugomu /sys/class/power_supply/battery/capacity.

Aukščiau pateiktoje ekrano kopijoje mano akumuliatoriaus indikatorius (kuris matomas, kai nuleidžiu būsenos juostą) įstrigo ties 70%, tačiau, kaip matote terminale, mano tikrasis akumuliatoriaus lygis yra 69%. Būtų lengva reguliariai apklausti šį failą, kad mano pranešimų juostoje būtų paskelbtas tikslus akumuliatoriaus įkrovos lygis, tačiau yra dar paprastesnis būdas išspręsti šią problemą.

Susidoroti su šiuo konkrečiu trūkumu yra iš tikrųjų neįtikėtinai trivialus. Jei pagalvosite, ši problema atsiranda tik įjungus komandą ir įjungus ekraną. Tačiau reikalas yra tas, kad jums nereikia įjungti šios komandos, kai ekranas įjungtas, nes numatytoji funkcija leidžia pasiekti „OK Google“ komandas, kai ekranas įjungtas. Taigi viskas, ką jums reikia padaryti, yra tiesiog išjungti šią komandą, kai ekranas įjungtas. Naudoti Tasker ar kitą automatizavimo programą tikriausiai būtų paprasčiausias būdas. Tiesiog paleiskite šią komandą, kad išjungtumėte triuką:

dumpsys battery reset

Žemiau rasite dviejų „Tasker“ profilių, kuriuos turėsite nustatyti, kad paleistumėte šią komandą, kai ekranas išjungtas, bet išjungtumėte, kai ekranas įjungtas, aprašymą. Iš esmės sukursite du „Įvykio“ kontekstus, iš kurių vienas yra įvykis „Ekranas išjungtas“, o kitas – įvykis „Atrakintas ekranas“. Įvykio „Rodymas išjungtas“ užduotyje bus vienas veiksmas, kodas -> Vykdyti apvalkalą su komanda dumpsys battery set ac 1. Įvykio „Ekranas atrakintas“ užduotyje taip pat bus vienas veiksmas, kodas -> Vykdyti apvalkalą su komanda dumpsys battery reset. Taigi „Tasker“ paleis komandą, kad apgautų jūsų įrenginį manyti, kad jis kraunasi, kai ekranas išjungtas (profilis: Įgalinti Aktyvaus žodžio aptikimas) ir paleiskite komandą, kad išjungtumėte šį triuką, kai telefonas atrakintas (profilis: Išjungti aktyviųjų žodžių aptikimą).

[skirtukai][tab title ="Įgalinti aktyviųjų žodžių aptikimą"]

Profile: Enable Hotword Detection (180)
Event: Display Off
Enter: Anon (182)
A1: Run Shell [ Command: dumpsys battery set ac 1Timeout (Seconds):0Use Root:OnStoreOutputIn: StoreErrorsIn: StoreResultIn: ]

[/tab][tab title ="Išjungti aktyviųjų žodžių aptikimą"]

Profile: Disable Hotword Detection (191)
Event: Display Unlocked
Enter: Anon (192)
A1: Run Shell [ Command: dumpsys battery resetTimeout (Seconds):0Use Root:OnStoreOutputIn: StoreErrorsIn: StoreResultIn: ]

[/tab]

[/tabs]

2 trūkumas – padidėjęs akumuliatoriaus išsikrovimas

Yra rimta priežastis, kodėl aktyviojo žodžio aptikimui visada reikia pasirinktinio bendro procesoriaus, nes priešingu atveju procesoriaus baterija papildomai išsieikvotų. Kai apgaunate įrenginį manydami, kad jis kraunasi, tai reiškia, kad įrenginys palaiko procesorių ir veikia daugiau fono paslaugas, nes daroma prielaida, kad padidėjęs energijos suvartojimas neturės reikšmės, nes įrenginys turi prieigą prie maitinimo šaltinio.

Tačiau šiuo atveju taip nėra, todėl įjungus šią komandą akumuliatorius išsikraus daugiau. Mano patirtis rodo, kad per naktį palikęs įrenginį tokioje būsenoje, mano Mate 9 išsikrovė 12% akumuliatoriaus per 8 valandas.

Mano nuomone, vargu ar nutraukiu sandorį, bet kai kuriuos iš jūsų tai gali atgrasyti. Deja, nėra lengvo sprendimo, kaip išspręsti šį antrąjį trūkumą. Išjungus komandą, kai ekranas įjungtas, kaip nurodyta paskutinėje pastraipoje, paminėtoje aukščiau esančiame skyriuje, šiek tiek padės sušvelninti problemą, tačiau tai yra viskas, ką galite padaryti.


Išvada

Tikiuosi, kad šis triukas jums bus naudingas. Tai tikrai netinka visiems, bet jei kada nors norėjote priversti „OK Google“ aktyvinamųjų žodžių aptikimą, o jūsų įrenginyje nėra reikiamos aparatūros, šis sprendimas jums.

Apibūdinau du galimus šio triuko trūkumus, iš kurių pirmąjį galima išspręsti naudojant automatizavimo programą, kad įjungtumėte / išjungtumėte komandą, kai tai prasminga. Pastarasis trūkumas, deja, yra dėl to, kad jūsų aparatinė įranga nėra sukurta nuolat veikti aktyvinamojo žodžio aptikimas, bet jei tai naudojate tik tada, kai to tikrai reikia, tai neturėtų būti per daug sutrikimas.

Išbandykite šį triuką ir toliau pateiktuose komentaruose praneškite mums, ar jis jums tinka!